virtualenv -p 创建新虚拟环境时删除 sys.prefix 文件路径的最后一部分
Posted
技术标签:
【中文标题】virtualenv -p 创建新虚拟环境时删除 sys.prefix 文件路径的最后一部分【英文标题】:virtualenv -p dropping last part of sys.prefix filepath when creating a new virtual environment 【发布时间】:2015-03-12 00:45:08 【问题描述】:当我尝试使用 Python 的 Enthought Canopy 发行版创建新的虚拟环境时,我一直遇到以下问题
localhost:workspace brendan$ virtualenv -p /Users/brendan/Library/Enthought/Canopy_64bit/User/bin/python test
Running virtualenv with interpreter /Users/brendan/Library/Enthought/Canopy_64bit/User/bin/python
Using base prefix '/Applications/Canopy.app/appdata/canopy-1.4.1.1975.macosx-x86_64/Canopy.app/Contents'
New python executable in test/bin/python
dyld: Library not loaded: @rpath/Python
Referenced from: /Users/brendan/Dropbox/workspace/test/bin/python
Reason: image not found
ERROR: The executable test/bin/python is not functioning
ERROR: It thinks sys.prefix is u'/Users/brendan/Dropbox/workspace' (should be u'/Users/brendan/Dropbox/workspace/test')
ERROR: virtualenv is not compatible with this system or executable
localhost:workspace brendan$
我不确定为什么它总是删除sys.prefix
的最后一部分,或者我应该如何解决这个问题。
这是related to a previous question I posted,这是建议的解决方法。
非常感谢任何帮助
谢谢
【问题讨论】:
【参考方案1】:Canopy 是基于 Python 3 的 venv
的反向移植而构建的。因此在 Canopy Python 中不能使用 virtualenv。大多数 virtualenv 用户应该能够毫无困难地使用 venv。但是,我们认识到这确实给某些用户带来了问题。因此,Canopy 的下一个主要版本(没有预计到达时间 -- 不会在未来几个月内)将支持任一选项。
【讨论】:
是否可以使用 Enthought Canopy 和 venv 创建虚拟环境?我已经尝试了从blog.enthought.com/general/… 获得的命令canopy_cli setup ./Project1
,但是在提示我是否要将其设为Python 的默认安装后它挂起。
打开一个 Canopy 终端(从 Canopy 工具菜单中)并在该提示下使用 venv。以上是关于virtualenv -p 创建新虚拟环境时删除 sys.prefix 文件路径的最后一部分的主要内容,如果未能解决你的问题,请参考以下文章