gpt4 book ai didi

python-3.x - 在 Virtualenvwrapper 中设置解释器

转载 作者:行者123 更新时间:2023-12-04 00:53:26 25 4
gpt4 key购买 nike

我在 OSX Mavericks 中使用 virtualenvwrapper 有一段时间了。
我通过自制软件安装了 python 2.x 和 3.x。为 python 2 创建环境不是问题。但是现在我想用python 3创建环境,所以根据documentation我可以将变量 VIRTUALENVWRAPPER_PYTHON 设置为解释器的完整路径来选择解释器:

# VIRTUALENVWRAPPER
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
export WORKON_HOME="$HOME/.virtualenvs"
export PROJECT_HOME=$HOME/Python_projects
source /usr/local/bin/virtualenvwrapper.sh

所以我做了,但是当我打开我的终端时,它对我大喊:
/usr/local/opt/python3/bin/python3.4: Error while finding spec for 
'virtualenvwrapper.hook_loader' (<class 'ImportError'>: No module
named 'virtualenvwrapper')
virtualenvwrapper.sh: There was a problem running the initialization
hooks.

If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenvwrapper has been installed for
VIRTUALENVWRAPPER_PYTHON=/usr/local/opt/python3/bin/python3.4 and
that PATH is set properly.

我检查了那个目录,那里安装了 virtualenvwrapper 和 virtualenv。那么如何为 python 3 安装这些软件包?

这些包没有安装,所以我安装了它们:
$ pip3 install install virtualenvwrapper
$ pip3 install install virtualenvwrapper

现在问题似乎是另一个问题:
$ mkvirtualenv -p /usr/local/bin/python3 test

File /usr/local/Cellar/python3/3.4.2_1/Frameworks/Python.framework/Versions/3.4/lib/python3.4/ssl.py", line 97, in <module>
import _ssl # if we can't import it, let the error propagate
ImportError: dlopen(/Users/javi/.virtualenvs/test/lib/python3.4/lib-dynload/_ssl.so, 2): Symbol not found: _SSLv2_method
Referenced from: /Users/javi/.virtualenvs/test/lib/python3.4/lib-dynload/_ssl.so
Expected in: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
in /Users/javi/.virtualenvs/test/lib/python3.4/lib-dynload/_ssl.so

解决方案:

做完之后:
$ brew uninstall --force python
$ brew uninstall --force python3

并再次安装它们:
$ brew install python
$ brew install python3

并修复一些损坏的链接:
$ brew linkapps python
$ brew linkapps python3

问题似乎消失了。默认情况下,virtualenvwrapper 在我的新环境中放置了一个 python3 可执行文件,这要归功于我的 中的行。 .bashrc :
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
而且,当我需要创建一个包含 python 2.X 的环境时,我可以这样做:
$ mkvirtualenv -p /usr/local/bin/python test4
它运行良好。

最佳答案

我没有 OS X 来测试这个,但看起来你已经将 virtualenv(和 virtualenvwrapper)安装到 python2.7 站点包目录( or the homebrew site-packages directory ),而不是 python3.4。

运行时:
源/usr/local/bin/virtualenvwrapper.sh
它在说

check that virtualenvwrapper has been installed for VIRTUALENVWRAPPER_PYTHON=/usr/local/opt/python3/bin/python3.4



我最近在 ubuntu 上安装了它,并使用 pip-3.4 将 virtualenv 安装到 python3.4 站点包。

编辑:python3 osx guide说 pip3 带有 homebrews python3 包。使用 pip3 安装 virtualenvwrapper 将解决您的问题。

注意:如果你安装了两个 virtualenvwrapper(通过 pip 和 pip3),我不知道它们是否可以一起玩。

关于python-3.x - 在 Virtualenvwrapper 中设置解释器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28031403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com