Python的vitrualenv下安装的包不能与全局环境隔离

@Python

目录

  • Python的vitrualenv下安装的包不能与全局环境隔离
  • 在安装virtualenvwrapper时容易碰到的问题:command not found
  • 后来装了Deepin系统
  • 在删除虚拟环境时容易犯的一个错误: rm 和rmdir

Python的vitrualenv下安装的包不能与全局环境隔离

用python的virtualenv工具在ubuntu的用户目录下创建了一个虚拟环境,激活后,在虚拟环境中使用pip3 list 命令和pip3 freeze命令列出的包跟全局环境中的一样。在虚拟环境中用pip3 install 安装的包,比如flask和numpy,在全局环境中再使用pip3 list, 也查看到了,这说明虚拟环境和全局环境并没有隔离开,也不知道这是怎么回事。

后来通过网上搜索查询,又经过试验,得到的方法如下:
安装virtualenv 后也要接着安装virtualenvwrapper,这样生成虚拟环境后,包就是与全局环境相互独立的。

生成虚拟环境,可以用virtualenv,命令如下

$ [sudo] virtualenv venv

也可以用virtualenvwrapper生成虚拟环境,命令如下

$ mkvirtualenv venv

在安装virtualenvwrapper时容易碰到的问题:command not found

我就遇到了这个问题,原因是环境变量没有添加,或者安装时没有指定Python版本。解决方法是打开用户目录下的.bashrc,在后面追加几条命令:

#用nano打开 .bashrc,你也可以用其他文本编辑器,这里用nano
~$ nano .bashrc

# 添加环境变量,并正确配置virtualenvwrapper的Python版本
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/workspace
source /home/usr/.local/bin/virtualenvwrapper.sh

注:source 那一行后面的目录不一定是/home/usr/每个人电脑上的用户名可能不一样,最好先使用下面的命令查询过virtualenvwrapper.sh的路径后直接复制粘贴过来即可

~$ whereis virtualenvwrapper.sh

配置完成后,Ctrl X退出并保存。
然后virtualenvwrapper 和virtualenv命令就可以正常使用了。
如果不行,可以再运行下.bashrc

~$ source ~/.bashrc

后来装了Deepin系统

装了deepin系统后,发现最好用sudo命令安装virtualenv,否则可能无法识别

$ sudo python3 -m pip install virtualenv

在删除虚拟环境时容易犯的一个错误: rm 和rmdir

linux下删除非空文件夹的命令是

$ rm -rf /directory_name

而不是rmdir, 如下:

# 错误示范
$ rmdir -rf /directory_name

我就是写成了rmdir,系统一直报错:

$ rmdir: invalid option -- 'r'
$ Try 'rmdir --help' for more information.

我还以为我的ubuntu版本上命令不全,笑死。

你可能感兴趣的:(Django,python,pip,flask,django)