Skip to main content
 首页 » 编程设计

python之python 的 virtualenv 的许多问题

2025年05月04日54bjzhanghao

我在让 virtualenv 工作方面遇到了很多麻烦。

首先我通过 pip 安装它,然后尝试设置一个 virtualenv。那没有用,我收到了这条错误消息:

    ResNets-iMac:desktop zachary$ virtualenv anothertest 
Using base prefix '/Applications/Canopy.app/appdata/canopy-1.5.1.2730.macosx-x86_64/Canopy.app/Contents' 
New python executable in anothertest/bin/python 
dyld: Library not loaded: @rpath/Python 
  Referenced from: /Users/zachary/Desktop/anothertest/bin/python 
  Reason: image not found 
ERROR: The executable anothertest/bin/python is not functioning 
ERROR: It thinks sys.prefix is u'/Users/zachary/Desktop' (should be u'/Users/zachary/Desktop/anothertest') 
ERROR: virtualenv is not compatible with this system or executable 

然后我完成了几乎所有可能的故障排除,并确定 Canopy 是问题所在。所以我删除了它,重新安装了virualenv(通过'pip uninstall virtualenv'然后'pip install virtualenv')现在每当我尝试做任何涉及virtualenv的事情时我都会收到这个错误:

dyld: Library not loaded: @rpath/Python 
  Referenced from: /Users/zachary/Library/Enthought/Canopy_64bit/User/bin/python 
  Reason: image not found 

我不确定该怎么做,当我检查我的默认 python 版本时,我得到:

/Library/Frameworks/Python.framework/Versions/2.7/bin/python 

我对这一切都很陌生,我真的不知道我一直在做什么或如何解决这个问题,所以非常感谢任何帮助。

谢谢!

请您参考如下方法:

问题是您的系统上有多个版本的 Python。

您拥有 OSX 附带的 Python (/Library/Frameworks/Python.framework/Versions/2.7/bin/python),然后您拥有 Canopy 附带的 Python;这是 /Users/zachary/Library/Enthought/Canopy_64bit/User/bin/python。

您的路径将默认版本指向来自 Canopy 的版本,但 pip 是针对 Python 的默认系统版本安装的。

所以当你安装 virtualenv 时,它是针对默认版本的 Python 安装的;但是当您尝试创建一个虚拟环境时——由于您的路径设置方式,它正在尝试使用 Python 的 Canopy 版本——这就是错误的根源。

要解决此问题,您可以执行以下任一操作:

  1. 删除 Canopy,并使用 OSX 版本的 Python。
  2. 在 Canopy 版本的 Python 上安装 virtualenv。
  3. 修改您的 PATH,使 Python 的系统版本优先。
  4. 安装另一个版本的 Python(比如自制软件)并将其设置为默认版本。

您选择的分辨率将取决于您需要系统执行的操作。如果您需要与 Canopy 捆绑在一起的库,那么您需要选择选项 #2,否则选择任何其他选项。 #4 是最具破坏性的(因为它将涉及安装很多其他东西)。