安装配置Python虚拟环境(解决中途遇到的问题)

配置虚拟环境

配置虚拟环境时使用的环境是:ubuntu16.04,Python3.6.5

1.安装virtualenv和virtualenvwrapper

pip3 install virtualenv
pip3 install virtualenvwrapper

两个顺序不能颠倒,virtualenvwrapper 是virtualenv的扩展管理包,可以将所有的虚拟环境整合在一个目录下。

2.配置虚拟环境

安装完成后在 ~/.bashrc 中写入一些内容

vi ~/.bashrc

在最后写入以下内容:

export WORKON_HOME=~/Envs   # virtualenvwrapper存放虚拟环境的目录,可自己设定
source /usr/local/bin/virtualenvwrapper.sh  # virtualenvwrapper安装的路径

以上virtualenvwrapper安装的路径不唯一,一般是上边的路径。可能还会是其他的路径(我装的时候这个路径就没有),可以使用whereis命令查看路径,以下是两个参考路径

/usr/local/bin/virtualenvwrapper.sh
~/.local/bin/virtualenvwrapper.sh

在 .bashrc 中加入成功之后,运行以下命令,读入配置文件

source ~/.bashrc   # 读入配置文件,立即生效

此处如果报错,请看文章最下方的报错解决。

3.创建虚拟环境

mkvirtualenv venv                        # venv为虚拟环境名
mkvirtualenv -p /usr/bin/python3.6 venv  # 指定python版本,venv为虚拟环境名

基本命令:

workon             # 查看当前的虚拟环境目录
workon 虚拟环境名   # 切换到虚拟环境
deactivate         # 退出虚拟环境
rmvirtualenv venv  # 删除虚拟环境venv

使用workon切换到虚拟环境后,就可以安装所需要的包库了,不使用了可以使用 rmvirtualenv 删除虚拟环境,这样就不至于把全局环境搞的乱七八糟。建议一个项目创建一个虚拟环境,这样可以很方便进行项目管理。

报错解决:

1.  ERROR: virtualenvwrapper could not find virtualenv in your path

使用命令whereis找到virtualenv所在的目录,若找不到,以下是两个参考路径

/usr/local/bin
~/.local/bin

然后在 ~/.bashrc中添加一句 :PATH=$PATH: virtualenv所在路径,此时我的 .bashrc 文件是这样

PATH=$PATH:~/.local/bin
/usr/local/bin/virtualenvwrapper.sh
~/.local/bin/virtualenvwrapper.sh

再使用命令 source ~/.bashrc 命令,读入配置文件。

2. 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/python and that PATH is set properly.

报以上的错误原因是:Ubuntu安装了2.7和3.x两个版本的python,在安装时使用的是sudo pip3 install virtualenvwrapper在我运行的时候默认使用的是python2.x,但在python2.x中不存在对应的模块。

找到virtualenvwrapper.sh文件,打开,找到这段话:

# Locate the global Python where virtualenvwrapper is installed.
if [ "$VIRTUALENVWRAPPER_PYTHON" = "" ] then
    VIRTUALENVWRAPPER_PYTHON="$(command \which python)"
fi

这段话表明当不存在VIRTUALENVWRAPPER_PYTHON环境时,会默认选择使用which python(我这里默认是python2)
所以在此将VIRTUALENVWRAPPER_PYTHON="$(command \which python)"改为:
VIRTUALENVWRAPPER_PYTHON="$(command \which python3)" ,此时文件改为这样:

# Locate the global Python where virtualenvwrapper is installed.
if [ "$VIRTUALENVWRAPPER_PYTHON" = "" ] then
    VIRTUALENVWRAPPER_PYTHON="$(command \which python3)"
fi

或者 VIRTUALENVWRAPPER_PYTHON= 可以直接写python3.6的路径。

(由于我在本机使用的是pip3安装的virtualenvwrapper,而python3命令对应的是python3.6解释器,所以这样改)

如果在安装配置的过程中遇到其他的问题,欢迎交流,一起解决。

 

 

 

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CharlesWu123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值