pip在虚拟环境安装python包却安装在全局/真实环境

参考:pip在虚拟环境中仍安装到全局问题

用pip install 无效:

(dm) python@ubuntu:~$ pip3 show mpl_finance
WARNING: Package(s) not found: mpl_finance

解决:

(dm) python@ubuntu:~$ python3 -m pip install mpl_finance
。。。。。。
Requirement already satisfied: setuptools in ./.virtualenvs/dm/lib/python3.6/site-packages (from kiwisolver>=1.0.1->matplotlib->mpl_finance) (42.0.2)
Installing collected packages: mpl-finance
Successfully installed mpl-finance-0.10.1

结果成功了:

(dm) python@ubuntu:~$ pip3 show mpl_finance
Name: mpl-finance
Version: 0.10.1

查资料并总结python3 -m pip install 和pip install的区别(有误之处还请指正):

python3 -m pip install 只在本环境中的python解释器下安装 并能被识别和使用。
pip install 直接把包安装在pip所属的python解释器中,但是无法识别和使用 (从我安装成功的运行程序就可看出来,之前 早就在里面了)。

原因: 参考,python3 -m pip install 底层:if name == ‘main’: 下的代码是调用pip.main(),导致只能被内部的函数调用,外部不行。该包无法拿给全局环境,只能留下来被虚拟环境使用和识别了。这理解有点扯,希望有人帮忙完善。

检查一下 虚拟环境和全局环境的python解释器/ pip 是不是来自同一个版本,若不是则用python3 -m pip install xx

(dm) python@ubuntu:~$ python3
Python 3.6.8 (default, Oct  7 2019, 12:59:55) 
(dm) python@ubuntu:~$ pip --version
pip 19.3.1 from /home/python/.virtualenvs/dm/lib/python3.6/site-packages/pip (python 3.6)
# 我的虚拟环境pip和pip3都是用python3解释器的。

python@ubuntu:~$ python3
Python 3.6.9 (default, Nov  7 2019, 10:44:02) 
python@ubuntu:~$ pip3 --version
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值