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