[英]Python venv (virual environment) uses wrong version of Python
我安裝了 Python 3.7 和 3.6。 但是在我的配置文件中,我設置為使用 3.6,這確實是一個由which python3
報告的版本。
$ which python3 /Library/Frameworks/Python.framework/Versions/3.6/bin/python3
然后我通過運行python3 -m venv venv
創建虛擬python3 -m venv venv
我的 venv 中的所有內容都與 3.6 相關聯。 我通過ls -la venv/bin
並檢查venv/pyvenv.cfg
確認這venv/pyvenv.cfg
。
我激活了venv虛擬環境。
然后我用pip install zappa
安裝一個zappa庫。
當我運行zappa deploy
,出現不支持 Python 3.7 的錯誤。 為什么庫會使用未在 virtualenv 中配置的 Python 版本,以及如何使其使用正確的版本?
(venv) $ zappa deploy
Traceback (most recent call last):
File "/Users/t/Projects/djzappa/Spheres/venv/bin/zappa", line 7, in <module>
from zappa.cli import handle
File "/Users/t/Projects/djzappa/Spheres/venv/lib/python3.7/site-packages/zappa/__init__.py", line 12, in <module>
raise RuntimeError(err_msg)
RuntimeError: This version of Python (3.7) is not supported!
Zappa (and AWS Lambda) support the following versions of Python: ['2.7', '3.6']
注意:我不會像每個人都建議的那樣使用 virtualenv,也不會像其他現有答案所指的那樣使用。
在創建環境時使用它:
virtualenv --python=/usr/bin/python3.6
但是如果你想使用venv,首先要檢查你終端中的python3
是否是你想要的python3.6
。
如果不是 - 在python3 -m venv venv
的完整路徑而不是唯一的python3
運行你的命令。
編輯:為什么你的別名 python3 指的是 python3.7 - 這可能取決於你使用的操作系統和安裝順序。 很難說。
Python 版本與 virtualenv python 版本不同,這就是它抱怨的原因。 您可以重新創建您的虛擬環境(刪除現有的)並使用以下命令
virtualenv --python= your python version here
venv 或者
mkvirtualenv venv --python= your python version here
如果你想使用 mkvirtualenv 命令創建你的虛擬環境。
作為已接受答案的補充,還請注意,更改 venv 所在的目錄名稱會導致使用系統的默認 python 和 pip 路徑,而不是使用 venv 路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.