虚拟环境:
一、安装
pip安装虚拟环境virtualenvwrapper,命令:
pip3 install virtualenvwrapper
pip为Python2,pip3为Python3
官网下载速度慢,建议用清华镜像源下载:在命令后面加上-i https://pypi.tuna.tsinghua.edu.cn/simple
sudo pip3 install virtualenvwrapper -i https://pypi.tuna.tsinghua.edu.cn/simple
安装完,我们使用pip3 list查询virtualenv是否已经成功安装,显示的列表有virtualenv,说明已经成功安装。
使用virtualenv命令报Command 'virtualenv' not found,这是Python中多个版本中存在的问题。
我们通过根目录下找virtualenv,命令:
sudo find / -name virtualenv
发现这个可执行文件virtualenv是存在的,复制文件路径:
这是我的virtualenv文件路径:/usr/local/lib/python3.7/site-packages/virtualenv
我们给它添加软连接到/usr/bin,命名一样为virtualenv:
sudo ln -s /usr/local/lib/python3.7/site-packages/virtualenv /usr/bin/virtualenv
再试命令virtualenv就没问题了。
二、配置虚拟环境
我们先查询一下virtualenvwrapper.sh文件路径
sudo find / -name virtualenvwrapper.sh
每个版本的存放路径都不一样,例如我的返回:
/usr/local/bin/virtualenvwrapper.sh
find: ‘/proc/1451/task/1451/net’: 无效的参数
find: ‘/proc/1451/net’: 无效的参数
find: ‘/run/user/1000/gvfs’: 权限不够
/usr/local/bin/virtualenvwrapper.sh这是我的文件路径
编辑 ~/.bashrc:
vim ~/.bashrc
输入i编辑,在文件末尾添加:
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
保存,按ESC键,输入:wq!保存退出
WORKON_HOME虚拟环境存放的地址,source你的virtualenvwrapper.sh文件路径。
重新载入.bashrc文件
source ~/.bashrc
报错
/usr/bin/python: 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/bin/python and that PATH is set properly.
/usr/bin/python: No module named virtualenvwrapper:这是因为新建虚拟环境的时候,需要从一个Python中去新建一个虚拟环境,但是默认当前的操作系统的Python是Python2,我们之前使用Python3安装的virtualenvwrapper,所以说我们要virtualenvwrapper它去指向Python的时候,去指向Python3。
编辑~/.bashrc文件:
在之前添加的上面添加Python3的可执行文件路径:
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
VIRTUALENVWRAPPER_PYTHON=你的Python3的路径
再重新载入.bashrc文件,返回:
virtualenvwrapper.user_scripts creating /home/bowyn/.virtualenvs/premkproject
virtualenvwrapper.user_scripts creating /home/bowyn/.virtualenvs/postmkproject
virtualenvwrapper.user_scripts creating /home/bowyn/.virtualenvs/initialize
virtualenvwrapper.user_scripts creating /home/bowyn/.virtualenvs/premkvirtualenv
virtualenvwrapper.user_scripts creating /home/bowyn/.virtualenvs/postmkvirtualenv
virtualenvwrapper.user_scripts creating /home/bowyn/.virtualenvs/prermvirtualenv
virtualenvwrapper.user_scripts creating /home/bowyn/.virtualenvs/postrmvirtualenv
virtualenvwrapper.user_scripts creating /home/bowyn/.virtualenvs/predeactivate
virtualenvwrapper.user_scripts creating /home/bowyn/.virtualenvs/postdeactivate
virtualenvwrapper.user_scripts creating /home/bowyn/.virtualenvs/preactivate
virtualenvwrapper.user_scripts creating /home/bowyn/.virtualenvs/postactivate
virtualenvwrapper.user_scripts creating /home/bowyn/.virtualenvs/get_env_details
说明配置结束。
三、测试虚拟环境
新建虚拟环境test,命令:
mkvirtualenv test
返回:
created virtual environment CPython3.7.3.final.0-64 in 225ms
creator CPython3Posix(dest=/home/bowyn/.virtualenvs/test, clear=False, global=False)
seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=/home/bowyn/.local/share/virtualenv/seed-app-data/v1.0.1)
activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
virtualenvwrapper.user_scripts creating /home/bowyn/.virtualenvs/test/bin/predeactivate
virtualenvwrapper.user_scripts creating /home/bowyn/.virtualenvs/test/bin/postdeactivate
virtualenvwrapper.user_scripts creating /home/bowyn/.virtualenvs/test/bin/preactivate
virtualenvwrapper.user_scripts creating /home/bowyn/.virtualenvs/test/bin/postactivate
virtualenvwrapper.user_scripts creating /home/bowyn/.virtualenvs/test/bin/get_env_details
安装完成!会自动进入虚拟环境,命令行前面会有一个括号里面有test。
退出虚拟环境:deactivate
查看有哪些虚拟环境:workon
也可以使用workon 虚拟环境名进入虚拟环境:workon test
删除虚拟环境:rmvirtualenv test
在虚拟环境里面直接使用Python就是Python3,pip也是pip3。
虚拟环境的路径:~/.virtualenvs/
END