I'm attempting to deploy a chalice application following the tutorial. I'm using a virtualenv with python3.6. My application is dependent on a github repo in the requirements.txt and that repo's requirements.txt depends on several libraries.
I can run the application just fine with python -i app.py
and I can execute my endpoints properly live in the REPL.
However, when I run chalice deploy
I get an error complaining about a module required by the github repo I require.
File "/usr/local/lib/python2.7/dist-packages/chalice/deploy/packager.py", line 715, in download_all_dependencies
raise NoSuchPackageError(str(package_name))
NoSuchPackageError: Could not satisfy the requirement: PyQt5>=5.8.1
Notice, however, that this chalice library being used is 2.7. I'm in a virtualenv that is set to python3.6.
I realized that I had previously installed chalice globally, which might have been a mistake. So I pip uninstalled chalice globally, but it's still installed in my virtualenv.
Now rerunning chalice, I get
$ chalice --version
bash: /usr/local/bin/chalice: No such file or directory
I tried rerunning the install of chalice to the local virtualenv but it didn't change anything.
What am I doing wrong here?
It could be multiple reasons.
I'm assuming your virtualenv is called venv, if not change it accordingly.
You have not activated your virtualenv.
Fix:
source venv/bin/activate
You activated your virtualenv, but the path does not match.
Fix:
echo $PATH
/Users/[yourpath]/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/bin
If /Users/[yourpath]/venv/bin
is not correct, check:
grep "VIRTUAL_ENV=" venv/bin/activate
VIRTUAL_ENV="/Users/[yourpath]/venv"
Then update venv/bin/activate
accordingly.
Note: The virtualenv folder should not be added into your repo. This may be the source of your issues.
If you want to ensure everyone has matching dependencies run:
python -m pip freeze > requirements.txt
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With