Jef*_*man 104 pip python-3.4 centos7
CentOS 7 EPEL现在包含Python 3.4: yum install python34
但是,当我尝试这样做时,即使Python 3.4成功安装,它似乎也没有安装pip.这很奇怪,因为pip默认情况下应该包含在Python 3.4中.which pip3找不到任何东西,也没有找到which pip.
如何从CentOS 7 EPEL版本的Python 3.4包中访问pip?
小智 151
我发现在CentOS 7上安装pip3(用于python3.x软件包)的最简单方法是:
$ sudo yum install python34-setuptools
$ sudo easy_install-3.4 pip
Run Code Online (Sandbox Code Playgroud)
当然,您需要事先启用EPEL存储库.
您现在应该能够运行如下命令来安装python3.x的包:
$ pip3 install foo
Run Code Online (Sandbox Code Playgroud)
Dev*_*ops 52
curl https://bootstrap.pypa.io/get-pip.py | python3.4
Run Code Online (Sandbox Code Playgroud)
或者如果curl由于某种原因你没有:
wget https://bootstrap.pypa.io/get-pip.py
python3.4 get-pip.py
Run Code Online (Sandbox Code Playgroud)
在此之后你应该能够运行
$ pip3
Run Code Online (Sandbox Code Playgroud)
Dav*_*ave 16
用于python34的CentOS 7 yum软件包确实包含该ensurepip模块,但由于某种原因缺少应该作为该模块一部分的setuptools和pip文件.要修复,请将PyPI中的最新轮子下载到模块的_bundled目录(/lib64/python3.4/ensurepip/_bundled/)中:
setuptools-18.4-py2.py3-none-any.whl
pip-7.1.2-py2.py3-none-any.whl
Run Code Online (Sandbox Code Playgroud)
然后编辑__init__.py以匹配下载的版本:
_SETUPTOOLS_VERSION = "18.4"
_PIP_VERSION = "7.1.2"
Run Code Online (Sandbox Code Playgroud)
之后python3.4 -m ensurepip按预期工作.每次创建虚拟环境时都会自动调用Ensurepip,例如:
pyvenv-3.4 py3
source py3/bin/activate
Run Code Online (Sandbox Code Playgroud)
希望RH能修复损坏的Python3.4 yum包,这样就不需要手动修补了.
更新:下面提到的python34错误终于得到修复.现在这是一个非常好的选择.
您可以启用IUS repo并使其正常工作,而不是使用损坏的EPEL python34软件包.
主要python34u和python35uIUS包包括pyvenv工具(/usr/bin/pyvenv-3.4或/usr/bin/pyvenv-3.5),包括用于引导虚拟环境的pip和setuptools的捆绑轮.
在python34u-pip和python35u-pipIUS套餐包括/usr/bin/pip3.4和/usr/bin/pip3.5分别.这些工作正常,可以将软件包安装到系统site-packages目录.
yum install python34-pip
pip3.4 install foo
Run Code Online (Sandbox Code Playgroud)
您可能需要安装EPEL存储库:
yum install -y epel-release
| 归档时间: |
|
| 查看次数: |
157339 次 |
| 最近记录: |