python 的 virtualenv 的许多问题
Many Problems with python's virtualenv
我在让 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 (/Library/Frameworks/Python.framework/Versions/2.7/bin/python
) 附带的 Python,然后您拥有 Canopy 附带的 Python;这是 /Users/zachary/Library/Enthought/Canopy_64bit/User/bin/python
.
您的路径将默认版本指向来自 Canopy 的版本,但 pip
是针对 Python 的默认系统版本安装的。
所以当你安装 virtualenv 时,它是针对 Python 的默认版本安装的;但是当你尝试创建一个虚拟环境时 - 由于你的路径设置方式,它正在尝试使用 Python 的 Canopy 版本 - 这就是你的错误来源。
要解决此问题,您可以执行以下任一操作:
- 删除 Canopy,并使用 Python 的 OSX 版本。
- 在 Python 的 Canopy 版本上安装 virtualenv。
- 修改您的PATH,使Python的系统版本优先。
- 安装另一个版本的 Python(例如,自制软件)并将其设置为默认版本。
您选择的分辨率将取决于您需要系统执行的操作。如果您需要与 Canopy 捆绑在一起的库,那么您需要选择选项 #2,否则选择任何其他选项。 #4 是最具破坏性的(因为它将涉及安装很多其他东西)。
Enthought Canopy 网站推荐this:使用 venv,而不是 virtualenv。
我在让 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 (/Library/Frameworks/Python.framework/Versions/2.7/bin/python
) 附带的 Python,然后您拥有 Canopy 附带的 Python;这是 /Users/zachary/Library/Enthought/Canopy_64bit/User/bin/python
.
您的路径将默认版本指向来自 Canopy 的版本,但 pip
是针对 Python 的默认系统版本安装的。
所以当你安装 virtualenv 时,它是针对 Python 的默认版本安装的;但是当你尝试创建一个虚拟环境时 - 由于你的路径设置方式,它正在尝试使用 Python 的 Canopy 版本 - 这就是你的错误来源。
要解决此问题,您可以执行以下任一操作:
- 删除 Canopy,并使用 Python 的 OSX 版本。
- 在 Python 的 Canopy 版本上安装 virtualenv。
- 修改您的PATH,使Python的系统版本优先。
- 安装另一个版本的 Python(例如,自制软件)并将其设置为默认版本。
您选择的分辨率将取决于您需要系统执行的操作。如果您需要与 Canopy 捆绑在一起的库,那么您需要选择选项 #2,否则选择任何其他选项。 #4 是最具破坏性的(因为它将涉及安装很多其他东西)。
Enthought Canopy 网站推荐this:使用 venv,而不是 virtualenv。