最近升级到了Mac OSX Catalina,好像破坏了我所有的Python虚拟环境。
- 我之前在升级到Catalina之前创建了一个虚拟环境。
- 我可以成功激活虚拟环境:
source venv/bin/activate
- 当我输入
python
或python3
时,它实际上运行的是系统Python解释器,而不是我期望的虚拟环境中的Python解释器。
在激活我的虚拟环境后...
>>> which python
/usr/bin/python
>>> which python3
/usr/local/bin/python3
我希望这指向
/Users/<username>/<path-to-venv>/venv/bin/python3
。4. 如果我尝试直接运行该Python解释器:
>>> /Users/<username>/<path-to-venv>/venv/bin/python3
bash: /Users/<username>/<path-to-venv>/venv/bin/python3: No such file or directory
- 如果我在Finder中导航到这个venv目录,我可以看到
python3
文件存在,但实际上它是一个别名。如果我双击它,会弹出一个错误消息,内容为:The operation can't be completed because the original item for "Python3" can't be found.
因此我认为这些venv的工作方式是基于对现有Python解释器安装的引用。显然运行venv会调用这些引用,如果原始安装有问题,它就会失败。我知道Catalina破坏了默认的Python设置,并改变了安装目录。
有人遇到过类似情况吗?能否提供修复方法?这似乎影响了我系统中所有的venv虚拟环境。
PATH
。它不依赖于您期望实际存在的解释器。 - chepner