Ubuntu20.04安装virtualenv方法以及安装过程中遇到的问题处理

一、虚拟环境安装

虚拟环境是真实python环境的复制版本,主要为了解决同一台机器上不同项目依赖相同包的不同版本问题。

1)安装虚拟环境

pip install virtualenv

注:命令前不能用sudo

2)安装虚拟环境扩展包

pip install virtualenvwrapper

注:命令前不能用sudo

3)创建用来存放虚拟环境的目录

//家目录下运行
mkdir .virtualenvs
//非家目录下运行
mkdir ~/.virtualenvs

注:~表示家目录;/表示根目录

3)编辑家目录下面的.bashrc文件,添加下面两行内容

//打开.bashrc文件命令
//vi ~/.bashrc
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=~/.local/bin/virtualenv
source ~/.local/bin/virtualenvwrapper.sh

注:ubuntu18及以上版本,virtualenvwrapper.sh被安装到了家目录下的.local/bin/中,非原来的/usr/local/bin/中

4)运行.bashrc,使其生效

//家目录下运行
source .bashrc
//非家目录下运行
//source ~/.bashrc

二、虚拟环境使用

1)创建虚拟环境

//创建pyhton2的虚拟环境
mkvirtualenv demo
//创建python3的虚拟环境
mkvitrualenv -p python3 demo

注:此时会在家目录下创建一个demo文件夹

2)退出虚拟环境

deactivate

3)重新进入虚拟环境

//仅有一个虚拟环境时,一次tab键即可补全当前虚拟环境名称
//不只一个虚拟环境时,两次tab键可以显示所有的虚拟环境名称
workon+tab 

4)虚拟环境中安装包

pip install 包名
//pip install 包名==版本号

5)查看虚拟环境中的包

pip list
//pip freeze 

三、可能遇到的问题

1)如果未添加“export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3”,运行source ~/.bashrc时出现以下问题

usr@ubuntu:~$ source .bashrc

Command '' not found, but can be installed with:

sudo apt install mailutils-mh  # version 1:3.7-2.1, or
sudo apt install meshio-tools  # version 4.0.4-1
sudo apt install mmh           # version 0.4-2
sudo apt install nmh           # version 1.7.1-6
sudo apt install termtris      # version 1.3-1

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= and that PATH is
set properly.

问题原因:我们配置的虚拟环境是python3下的虚拟环境,但是系统还是默认调用python2的配置文件,但是python2我们并没有配置,所以我们还需要修改配置文件。

//切换到~/.local/bin目录
cd .local/bin
//编辑virtualenvwrapper.sh文件
vi virtualenvwrapper.sh

将文中:

		VIRTUALENVWRAPPER_PYTHON="$(command \which python);

改为:

		VIRTUALENVWRAPPER_PYTHON="$(command \which python3)

如下图所示:
在这里插入图片描述

2)bash: /usr/local/bin/virtualenvwrapper.sh: No such file or directory

usr@ubuntu:~$ source .bashrc
bash: /usr/local/bin/virtualenvwrapper.sh: No such file or directory

问题原因:ubuntu18及以上版本,virtualenvwrapper.sh被安装到了家目录下的.local/bin/中,非原来的/usr/local/bin/中

3)直接用以下命令安装虚拟环境,导致虚拟环境是基于真机上的python的

sudo apt-get install virtualenv
sudo apt-get install virtualenvwrapper

问题原因:virtualenvwrapper.sh 是安装在 /usr/share/virtualenvwrapper/virtualenvwrapper.sh
配置好~/.bashrc之后,能运行virtualenv 命令,
用以下命令删除虚拟环境,

sudo apt-get remove virtualenv
sudo apt-get remove virtualenvwrapper

猜你喜欢

转载自blog.csdn.net/qq_42296146/article/details/108291436