Python 虚拟环境(virtualenv)之site-packages

Linux 系统为Debian

1. 用virtualenv创建python的虚拟环境

$ virtualenv -p python3 venv

2. 激活虚拟环境

$ source venv/bin/activate

3. 进入虚拟环境并执行python命令,查看sys.path 

(venv)...$ python

Python 3.6.3 (default, Nov 13 2018, 07:17:43)
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pip
>>> pip.__file__

结果显示pip引用的是外部环境的pip,并非虚拟环境venv内部的pip。

参考 https://www.cnblogs.com/luxuriance-lily/p/9094336.html 后,发现 /lib/python**/下面没有一个no-global-site-package.txt文件,手动添加该文件。

新建立一个对话框,查看pip引用情况,发现还是外部环境的pip。

 

后来才发现在 .bashrc中有这么一句话

alias python='/opt/ute/python3/bin/python3'

在.bashrc文件中删除该句话,然后source .bashrc使之生效,重新新建一个对话框,查看pip引用,这次对了,是引用虚拟机内部的pip。

 

苍天啊,这个问题困扰了我好几天。才发现原来是alias的问题,linux系统中创建了python的虚拟环境,但是如果你也设置了alias,那么alias优先级最高。。。。泪。。。。

 

参考文件: https://www.cnblogs.com/luxuriance-lily/p/9094336.html

你可能感兴趣的:(Python)