python创建虚拟环境时pip help install_Python虚拟环境的最终版本是PIP,而不是创建它的版本。为什么以及如何解决此版本控制问题?...

My question is similar to another that was asked about Python3 so perhaps the answer is the same one - if so, I´d appreciate it if somebody can clarify this and go the step further of answering the additional questions posted here since there is, really, not a good answer there as to WHY it happens and HOW to avoid it without unintended consequences. Perhaps with 2.7 there is a better one?

I don´t understand the following sequence where a virtual environment in my MAC OS ends up with a version of PIP that´s older than the version it created it:

dhcp--41:VO$ virtualenv -p

/usr/local/Cellar/python@2/2.7.15/bin/python env

Running virtualenv with interpreter

/usr/local/Cellar/python@2/2.7.15/bin/python

New python executable in /Users/jbs/PycharmProjects/VOSW- VWN/env/bin/python2.7

Also creating executable in /Users/jbs/PycharmProjects/VOSW-VWN/env/bin/python

Installing setuptools, pip, wheel...done.

We´ve made sure the interpreter is 2.7.15

dhcp--41:VO$ source env/bin/activate

(env) dhcp--41:VO jbs$ python

Python 2.7.15 (default, May 1 2018, 16:44:14)

[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin

Type "help", "copyright", "credits" or "license" for more information.

>>> exit()

This is just a check that the interpreter is 2.7.15 and now we generate the requirements output which is small as expected but which gives this warning (which is what I DON´T understand):

(env) dhcp--41:VO$ pip freeze

wheel==0.26.0

You are using pip version 8.0.2, however version 10.0.1 is available.

You should consider upgrading via the 'pip install --upgrade pip' command.

We´ll now leave the environment and do freeze outside it:

(env) dhcp--41:VO$ deactivate

dhcp--41:VO$ pip freeze

absl-py==0.2.0

No suggestion for upgrade is given here despite the fact that we have the SAME version of python (if I understand correctly) as we check next:

dhcp-18--41:VO$ python

Python 2.7.15 (default, May 1 2018, 16:44:14)

[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin

Type "help", "copyright", "credits" or "license" for more information.

>>>

Why did it install a different version of pip? Or perhaps, why does it default to a different version inside the virtual environment? It seems very odd to me. How can I make sure this does not happen every time I create a new virtual environment? Any input would be most helpful!

解决方案

Your pip outside virtual environment is /usr/local/bin/pip which most probably means it uses /usr/local/bin/python or /usr/bin/python. But you've created the virtual environment using a different python — /usr/local/Cellar/python@2/2.7.15/bin/python. You can check its pip version with

/usr/local/Cellar/python@2/2.7.15/bin/pip --version

or

/usr/local/Cellar/python@2/2.7.15/bin/python -m pip --version

To upgrade that pip you need to run

/usr/local/Cellar/python@2/2.7.15/bin/python -m pip install -U pip

And to upgrade pip inside the virtual env

python -m pip install -U pip

after activating the virtual env.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值