Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

655
Views
pipenv and pyinstaller not packaging dependencies

I'm fairly new to python I'm trying to create an executable of my python project that is run in pipenv. However, when I try and compile and run the code using pyinstaller it can't find any dependencies since they aren't installed globally. I don't want to install them globally, this is supposed to be a deployable build that shouldn't require any setup beyond just the exe.

Am I missing something? Is this even the right way to go?

I can run the project easily like so:

pipenv run python iot.py

It has a dependency:

from AWSIoTPythonSDK.MQTTLib import AWSIoTMQTTClient

And I try and compile the project like so:

pipenv run pyinstaller --onefile iot.py

It creates an executable that fails to find imported modules.

Traceback (most recent call last):
  File "iot.py", line 18, in <module>
ImportError: No module named AWSIoTPythonSDK.MQTTLib
[48823] Failed to execute script iot

Am I just so off in my attempt or is there just a simple missing link?

Thanks for any help.

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

This is because you installed pyinstaller globally.

Use pipenv install -d pyinstaller before packing.

over 4 years ago · Santiago Trujillo Report

0

I found that pyinstaller won't package dependencies inside the pipenv.

If I install the dependencies globally I can ship the exe.

For now, I'll make a build machine that handles downloading dependencies and building the exe.

over 4 years ago · Santiago Trujillo Report

0

You can tell pyinstaller to look in the virtual env created by pipenv when searching for the required modules.

$ pipenv --venv
path\to\.virtualenvs\project

$ pipenv run pyinstaller --paths path\to\.virtualenvs\project project.py
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!