dyld:库未加载:@executable_path/../.Python

16

之前我在Mac上同时安装了Python 2.7和3.5,成功使用了它们。不久前,我安装了Anaconda和IPython,在控制台编程中使用了几周。

然后我回到了常规的Python用于我的Django和Flask项目,发现了一个不愉快的事情。也就是说,每当我尝试运行pythonpython3时,我会收到以下错误:

dyld: Library not loaded: @executable_path/../.Python
  Referenced from: /Users/name/anaconda3/bin/python3
  Reason: image not found
Abort trap: 6
当我运行conda时,我也遇到了同样的错误。
如果我使用virtualenv django-project创建一个新的虚拟环境,我就能激活它,并成功地运行Python 2.7。
我的问题是:如何修复命令行的pythonpython3,同时保留工作中的Anaconda和IPython?如何确保虚拟环境能够支持Python 3?

5
你解决了这个问题吗? - Shubham
是的,请在这里关注讨论。我目前已安装Miniconda,并且每次想使用Python时都会“source”它,就这样。此外,我在miniconda中创建了一个新的虚拟环境,其中包含我需要的所有IPython内容。如果我想使用IPython,那么我只需切换到该虚拟环境,然后开始使用。两个命令还不错。 - MadPhysicist
1
https://github.com/ContinuumIO/anaconda-issues/issues/305#issuecomment-285094497 - MadPhysicist
2个回答

1
我也使用macOS,从不处理系统python。我通过Homebrew(https://brew.sh)安装了python3,并始终使用虚拟环境。我在我的主目录中有一个虚拟环境(默认),并且每个正在进行的项目都有一个。
你的经验法则应该是:如果你没有在虚拟环境中,请勿运行'pip'。使用$ echo $VIRTUAL_ENV检查。
要使用当前安装的库创建/重新创建python3中的虚拟环境:
  • 进入你的项目目录并激活你的虚拟环境。
  • (可选) 通过pip转储你的需求:$ pip freeze > requirements.txt
  • 删除虚拟环境目录(如果有):$ rm -rf .venv
  • 退出虚拟环境:$ deactivate
  • 用python3创建一个新的虚拟环境:$ virtualenv -p python3 .venv
  • 激活它:$ source .venv/bin/activate
  • (可选) 安装你的需求:$ pip install -r requirements.txt
  • 获利。
如果你只想创建一个新的虚拟环境并稍后安装你想要/需要的模块,那么你可以跳过编写和读取requirements.txt的步骤。

0
首先,为了减少你对使用哪个Python版本的困惑,你可以在安装了Bash shell的Linux或Mac中尝试以下两个命令: $ which python 或者 $ which python3
在我的情况下,它输出了我正在使用pyenv [with fish shell]的Python路径[$是一个shell符号]。

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接