get-pip.py
,以便在python可执行文件旁边安装最新的pip:
$ /opt/python/3.7.0/bin/python --version
Python 3.7.0
$ /opt/python/3.7.0/bin/pip --version
pip 18.0 from /opt/python/3.7.0/lib/python3.7/site-packages/pip (python 3.7)
/opt/python
,尽管我大部分使用的是每个主要版本的五个最新版本,而不是EOL。设置一个我曾经运行的环境
virtualenv
virtualenvutils
与
-p /opt/python/X.Y.Z/bin/python
选项以获取具有特定版本的虚拟环境。
$ virtualenv -p /opt/python/3.7.0/bin/python /tmp/py37virtualenv
Running virtualenv with interpreter /opt/python/3.7.0/bin/python
Using base prefix '/opt/python/3.7.0'
/opt/util/virtualenvutils/lib/python3.6/site-packages/virtualenv.py:1041: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
import imp
New python executable in /tmp/py37virtualenv/bin/python
Installing setuptools, pip, wheel...done.
我几乎不希望在virtualenv中解决这个问题,因为它已经
PendingDeprecationWarning
this question
)
在调查替换时
虚拟人
python -m venv
在里面
,我首先创建了一个新的
venv
基于手动虚拟环境:
$ /opt/python/3.7.0/bin/python -m venv /tmp/py37venv
$ /tmp/py37venv/bin/pip --version
pip 10.0.1 from /tmp/py37venv/lib/python3.7/site-packages/pip (python 3.7)
有一个旧的
pip
版本!如果你使用它,你会得到:
您使用的是pip版本10.0.1,但是版本18.0可用。
您应该考虑通过'pip install--upgrade pip'命令进行升级
在使用创建的虚拟环境中
您将立即获得最新版本:
$ /tmp/py37virtualenv/bin/pip --version
pip 18.0 from /tmp/py37virtualenv/lib/python3.7/site-packages/pip (python 3.7)
我可以运行后期创建步骤:
/tmp/py37venv/bin/pip install -U --disable-pip-version-check pip
皮普
,这意味着运行非安全版本以获取安全版本,这是理想的攻击点。
虚拟人
创建一个
皮普
皮普
使用
get-pip.py公司
$ /opt/python/3.7.0/bin/python -m venv --without-pip /tmp/py37venvnopip
$ /tmp/py37venvnopip/bin/python -c "from urllib.request import urlopen; response = urlopen('https://bootstrap.pypa.io/get-pip'); open('/tmp/tmp_get_pip.py', 'w').write(response.read())"
$ /opt/python/3.7.0/bin/python /tmp/tmp_get_pip.py
......
$ /opt/python/3.7.0/bin/pip --version
pip 18.0来自/opt/python/3.7.0/lib/python3.7/site-packages/pip(python3.7)
是什么原因
/opt/python/3.7.0/bin/python -m venv
带走那个老家伙
皮普
版本?这是3.7.0发布时的版本吗?
如何在下面更新我的安装
/opt/python/3.7.0
以某种方式使用
皮普
不还原为脚本、别名或使用多个命令的版本?有最新的
皮普
安装在
显然还不够。
有两个捆绑车轮:
/opt/python/3.7.0/lib/python3.7/ensurepip/_bundled/setuptools-39.0.1-py2.py3-none-any.whl
/opt/python/3.7.0/lib/python3.7/ensurepip/_bundled/pip-10.0.1-py2.py3-none-any.whl
我想我需要更新一下。有没有比手工更新更好的方法?一些选择
/some/python -m venv
会很好的。
(和跑步
/some/python -m ensurepip --upgrade
不起作用)
运行不推荐的
/opt/python/3.7.0/bin/pyvenv
有同样的老
皮普
版本问题。