gpt4 book ai didi

python - 在 MacOS 上为 Python 3.6 初始化 virtualenvwrapper

转载 作者:太空宇宙 更新时间:2023-11-03 12:01:11 24 4
gpt4 key购买 nike

我想将 virtualenvwrapper 与 Python 3.6 一起使用,但是,我在默认使用 Python 2.7 的 Mac 上工作,我遇到了问题。这是我到目前为止所做的。使用以下命令,我找到了每个 Python 版本的保存位置:

>> which python 
>> /usr/bin/python

>> which python3
>> /Library/Frameworks/Python.framework/Versions/3.6/bin/python3

我已经使用以下方法成功安装了 virtualenv 和 virtualenvwrapper:

>> pip3 install virtualenv
>> pip3 install virtualenvwrapper

然后我搜索 virtualenv 和 virtualenv wrapper 的位置以确认它们的位置:

>> pip3 show virtualenv
>> Location: /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages

>> pip3 show virtualenvwrapper
>> Location: /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages

如果我转到此站点包目录,则有以下内容:

virtualenvwrapper
|--- __pycache__
|--- hook_loader.py
|--- project.py
|--- user_scripts.py
virtualenvwrapper-4.8.2-py2.7-nspkg.pth
virtualenvwrapper-4.8.2.dist-info

根据 virtualenvwrapper 的文档,我应该将以下内容添加到我的 shell 启动文件中以确保初始化,将 virtualenvwrapper 的路径更改为我机器上设置的路径:

 export WORKON_HOME=~/Envs
$ mkdir -p $WORKON_HOME
$ source /usr/local/bin/virtualenvwrapper.sh

然后我搜索了 virtualenvwrapper.sh 的实际位置(出于某种原因,它不在安装 virtualenvwrapper 模块的位置):

>> which virtualenvwrapper.sh
>> /Library/Frameworks/Python.framework/Versions/3.6/bin/virtualenvwrapper.sh

我使用以下方法更改了我的 .bashrc 文件:

>> nano ~./bashrc

复制如下:

# script for virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Devel
source /Library/Frameworks/Python.framework/Versions/3.6/bin/virtualenvwrapper.sh

然后我打开一个新终端并运行:

>> source `which virtualenvwrapper.sh`

这给了我:

  /usr/bin/python3: No such file or directory
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/bin/python3 and that PATH is
set properly.

我不明白的是为什么 virtualenvwrapper 需要位于/usr/bin/python3 而不是目录。既然在bin里,我也不可能把它做成一个目录。此外,virtualenvwrapper.hook_loader 不在 virtualenvwrapper.sh 所在的位置,我认为这可能会导致问题。

我还尝试创建一个到/usr/local/bin 的符号链接(symbolic link),因为有些人说它解决了他们的问题,但这并没有解决我的问题:

sudo ln /Library/Frameworks/Python.framework/Versions/3.6/bin/virtualenvwrapper.sh /usr/local/bin/virtualenvwrapper.sh

另一个问题是,如果我想为 Python3 使用 virtualenvwrapper,是否需要使用 pip3 安装它。例如,this post声明你只需要传递一个标志,但是,你也应该小心地将它安装在你的基本 Python 安装上。

最佳答案

添加

export VIRTUALENVWRAPPER_PYTHON=/Library/Frameworks/Python.framework/Versions/3.6/bin/python3

.bashrc 并在终端中执行命令。这为 virtualenvwrapper 设置了 Python 解释器的路径。

关于python - 在 MacOS 上为 Python 3.6 初始化 virtualenvwrapper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48161846/

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