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

时间:2017-03-10 03:36:05

标签: python django python-2.7 python-3.x virtualenv

前一段时间我在Mac上安装了Python2.7和3.5,并且能够成功使用它们。不久前我安装了Anaconda和IPython。我已经使用它们进行了几周的原型设计和控制台编程。

在我为Django和Flask项目回到常规Python之后,我发现了一件令人不快的事情。也就是说,每当我尝试运行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。

我的问题如下。如何在保留工作Anaconda和IPython的同时为命令行修复pythonpython3?如何确保虚拟环境能够携带Python3?

2 个答案:

答案 0 :(得分:1)

我也使用 macOS,我从不弄乱甚至处理系统 python。我已经通过 Homebrew (https://brew.sh) 安装了 python3,并且我总是使用虚拟环境。我的主目录中有一个(我的默认目录),我正在处理的每个项目都有一个。

如果您不在 virtualenv 中,您的经验法则应该是永远不要运行“pip”。与$ echo $VIRTUAL_ENV核对。

使用当前安装的库在 python3 中创建/重新创建虚拟环境:

  • 进入您的项目目录并激活您的 virtualenv。
  • (可选)通过 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 的步骤。

答案 1 :(得分:0)

首先,为了减少您对正在使用的 python 的混淆,您可以在安装了 bash shell 的 Linux 或 mac 中尝试以下 2 个命令:

$ 哪个蟒蛇 要么 $ which python3

在我的例子中,它输出我在 pyenv [with fish shell] [$ is a shell sign] 中使用的 python 路径

enter image description here