ubuntu16.04 virtualenv 虚拟环境下 sudo pip 与 pip 的区别

本文详细解释了在虚拟环境下使用pip和sudopip安装包的区别。通过对比pip-rinstallrequirements.txt与sudopip-rinstallrequirements.txt,揭示了两者分别将包安装在虚拟环境与全局环境的不同之处。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

在虚拟环境下导入 requirements.txt 环境需求包时, 发现一个坑(知识匮乏点):

pip -r install requirements.txtsudo pip -r install requirements.txt

这两者安装的包所在位置不同, 前者安装在"虚拟环境"里面, 后者则安装在"全局环境"中。

演示

  1. 首先创建一个虚拟环境
python@ubuntu:~/Desktop$ mkvirtualenv test -p python3
  1. 查看一下 pip 列表
(test) python@ubuntu:~/Desktop$ pip list
Package       Version
------------- -------
pip           19.1.1 
pkg-resources 0.0.0  
setuptools    41.0.1 
wheel         0.33.4 

此时 pip list 中只有上面这些包

  1. 查看 pip 路径与版本
(test) python@ubuntu:~/Desktop$ pip --version
pip 19.1.1 from /home/python/.virtualenvs/test/lib/python3.5/site-packages/pip (python 3.5)

这边可以发现该 pip 的版本为19.1.1, 路径位于虚拟环境 test 下

  1. 同样的方式查看 sudo pip
(test) python@ubuntu:~/Desktop$ sudo pip list
Package                       Version  
----------------------------- ---------
apturl                        0.5.2    
beautifulsoup4                4.4.1    
blinker                       1.3      
Brlapi                        0.6.4    
certifi                       2019.6.16
chardet                       3.0.4    
checkbox-support              0.22     
command-not-found             0.3      
configparser                  3.7.4    
cryptography                  1.2.3    
decorator                     4.0.6    
defer                         1.0.6    
......

这边只列出了部分包, 可以明显看出该 pip list 中的包多得多

(test) python@ubuntu:~/Desktop$ sudo pip --version
pip 19.1.1 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)

这边也可以看出该 pip 路径位于本机python3中

总结

坑虽小, 掉进去却很难脱困.
不过只要有耐心和细心, 跳出来的过程将会变得非常有趣。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值