1 .安装virtualanv和virtualenvwrapper
sudo pip3 install virtualenv
sudo pip3 install virtualenvwrapper
安装成功后使用pip3 list可以看到,但是workon命令不能用,是因为没有配置环境变量.
2 .配置环境变量
创建虚拟目录,用于存放所有的虚拟环境:一般建议在home目录下(加.是隐形目录,不能直接看到)
sudo mkdir /home/.pyvirtualenvs #root
或者
mkdir ~/.pyvirtualenvs #普通用户
查找virtualenvwrapper.sh在哪里
sudo find / -name virtualenvwrapper.sh
记录下来路径: /usr/local/Python3.8.15/bin/virtualenvwrapper.sh
修改virtualenvwrapper.sh中的python为python3.
sudo vim /usr/local/python3.8.15/bin/virtualenvwrapper.sh
修改之前的VIRTUALENVWRAPPER_PYTHON="$(command \which python)",修改之后的,python后边加个3,在开头50行左右.
修改.bashrc文件
sudo vim /root/.bashrc #root用户
或者
vim ~/.bashrc #其他用户
加入如下并保存.
export WORKON_HOME=~/.pyvirtualenvs #需要根据实际创建的目录位置填写
export VIRTUALENVWRAPPER_PYTHON=/usr/local/Python3.8.15/bin/python3.8
source /usr/local/Python3.8.15/bin/virtualenvwrapper.sh
参数解释:
export WORKON_HOME=路径/.virtualenvs(绝对路径)
export VIRTUALENVWRAPPER_PYTHON=python的路径
source virtualenvwrapper.sh的存放路径(就是刚刚我们找的)
激活更新的配置
sudo source /root/.bashrc #root用户
或者:
source ~/.bashrc #其他用户
验证:
workon
什么也没有输出,代表配置成功,因为没有虚拟环境,所有不列出.
3 .虚拟环境使用
列出虚拟环境列表,没有就为空。
workon
创建并进入虚拟环境:
mkvirtualenv diff_env
退出虚拟环境:
deactivate
激活虚拟环境:
workon diff_env
删除虚拟环境:
rmvirtualenv diff_env
4 .虚拟环境安装包
在终端使用
先使用 workon 激活进入虚拟环境,再执行pip install 包名称,最后执行pip list查看是否安装成功
workon diff_env
pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple
pip3 list
在程序里激活使用:
source /home/ChkE21Core/.pyvirtualenvs/diff_env/bin
常见错误
virtualenv: error: argument dest: the destination . is not write-able at /home/.pyvirtualenvs,虚拟环境的路径没有权限,这个是root用户的目录,创建虚拟环境使用的是普通用户,需要将虚拟目录改为普通用户的目录中。
ERROR: virtualenvwrapper could not find virtualenv in your path
因为 virtualenv 这个基础依赖包被安装在默认 Python 目录下,就需要做一个软连接:
sudo ln -s /usr/local/Python3.8.15/bin/virtualenv /usr/bin/virtualenv
virtualenv: error: argument dest: the destination . is not write-able at /home/xxx/.pyvirtualenvs
权限问题,简单粗暴解决:sudo chmod 777 ~/.pyvirtualenvs
ERROR: Can not execute setup.py
since setuptools is not available in the build environment.
sudo /usr/local/Python3.8.15/bin/python3.8 -m pip install --upgrade pip
sudo /usr/local/Python3.8.15/bin/python3.8 -m pip install --upgrade setuptools