我有一台运行 Catalina 10.15.6 的 MacBook Pro。
我一直遇到 python 环境失败的问题venv
。
当我启动 python 项目时,我在项目目录中运行以下命令:
python3 -m venv .
这就创造了环境。我激活环境并. bin/activate
运行which python3
给了我这样的东西:
/Users/qotsa42/Projects/web/project_name/bin/python3
换句话说,它使用虚拟环境中的 python 二进制文件。一切都很好。
我的计算机上有几十个项目正是通过这种方式创建的。有时,由于没有明显的原因并且没有明显的模式,激活脚本不再加载 python 二进制文件。
例如,我只是尝试为一个几个月没有接触过的项目激活一个环境。which pip3
给了我这个:
/Users/qotsa42/Projects/web/project_name/bin/pip3
但which python3
给了我这个:
/usr/local/bin/python3
我一生都无法弄清楚是什么阻止了虚拟环境加载正确的 python 二进制文件。
在这个特定的项目中,我使main.py
文件可执行,并将 bash shebang 放在顶部,指向虚拟环境的二进制文件。当我运行脚本时,它给我这个:
/Users/qotsa42/Projects/web/project_name/bin/python3: bad interpreter: No such file or directory
操作系统升级或 Brew 升级可能会破坏我所有的虚拟环境,我现在才注意到,但这对我来说似乎很可疑。我感谢您提前提供的任何帮助。
另外:删除所有环境文件/目录并重新安装虚拟环境已经解决了这个问题,但如果可能的话,我宁愿不处理所有这些问题。
问题似乎出在 python 二进制文件的 simlinks 中。python3.7
该目录中没有二进制文件/usr/local/opt/python/bin
,但有一个python3.8
。
运行/usr/local/opt/python/bin/python3.8 ./main.py
有效,但它不会加载我通过安装的模块pip3
——即我得到 ModuleNotFoundError: No module named 'pyodbc'
运行python3 -m venv --upgrade .
输出:
Error: [Errno 2] No such file or directory: '/Users/qotsa42/Projects/web/import_csv/bin/python3'
烙印99
相关分类