使用pip管理RHEL7上的两个python 2.7版本

问题描述:

目标:在我的RHEL服务器上安装python 2.7.14和python 3.6并使用pip2/pip3来管理这两个版本。使用pip管理RHEL7上的两个python 2.7版本

注意:尽管此服务器缺少互联网连接,我可以单独下载并将它们上传到此服务器。

我最近在虚拟机上安装了RHEL 7.2,默认安装了python 2.7.5。 我决定通过并行安装2.7.14(使用make altinstall方法并保持现有的2.7.5完整)来升级。我还打算在将来将所有现有的Python代码移植到它上面,同时安装了python 3.6。

当我尝试为Python 2.7.14或任何库(如稍后会看到的)安装pip时,就会出现问题。

我第一次做PIP的使用easy_install:

[[email protected] bin]# easy_install pip 
Searching for pip 
Best match: pip 9.0.1 
Adding pip 9.0.1 to easy-install.pth file 
Installing pip script to /usr/local/bin 
Installing pip3 script to /usr/local/bin 
Installing pip3.5 script to /usr/local/bin 

Using /usr/local/lib/python3.6/site-packages 
Processing dependencies for pip 
Finished processing dependencies for pip 

这将安装PIP为Python 2.7.5和3.6而不是蟒蛇2.7.14。

接下来,我下载了get-pip.py:

这被安装罚款蟒蛇2.7.5而不是蟒蛇2.7.14:

[[email protected] pshah]# python get-pip.py 
Collecting pip 
    Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB) 
    100% |████████████████████████████████| 1.3MB 978kB/s 
Collecting wheel 
    Downloading wheel-0.30.0-py2.py3-none-any.whl (49kB) 
    100% |████████████████████████████████| 51kB 9.2MB/s 
Installing collected packages: pip, wheel 
Successfully installed pip-9.0.1 wheel-0.30.0 

[[email protected] pshah]# /usr/local/bin/python2.7 get-pip.py 
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. 
Collecting pip 
    Could not fetch URL https://pypi.python.org/simple/pip/: There was a problem confirming the ssl certificate: Can't connect to HTTPS URL because the SSL module is not available. - skipping 
    Could not find a version that satisfies the requirement pip (from versions:) 
No matching distribution found for pip 

这似乎是一个缺乏的SSL图书馆。

首先,我没有安装这个用yum:

[[email protected] pshah]# yum install openssl 
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager 
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. 
Package 1:openssl-1.0.1e-42.el7_1.9.x86_64 already installed and latest version 
Nothing to do 

[[email protected] pshah]# yum install openssl-devel 
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager 
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. 
Package 1:openssl-devel-1.0.1e-42.el7_1.9.x86_64 already installed and latest version 
Nothing to do 

其次,这似乎是目前的Python 2.7.5

[[email protected] pshah]# python 
Python 2.7.5 (default, Oct 11 2015, 17:47:16) 
[GCC 4.8.3 20140911 (Red Hat 4.8.3-9)] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import ssl 
>>> 

我是压倒一切的太多了?我是否应该使用2.7.5和python 3.6的默认安装?

我知道virtualenv可能是一个解决方案,但我不知道如何使它与Apache执行Python脚本的工作。

谢谢。

正如它在这里提到的那样:https://pip.pypa.io/en/latest/installing我做了一个本地安装的pip,但是为python 2.7.14调用了python可执行文件。

下载车轮,setuptools的和PIP的.whl文件,然后运行以下:

[[email protected] pshah]# /usr/local/bin/python2.7 get-pip.py --no-index --find-link=. 
Collecting pip 
Collecting setuptools 
Collecting wheel 
Installing collected packages: pip, setuptools, wheel 
Successfully installed pip-9.0.1 setuptools-36.5.0 wheel-0.30.0 

我相信调用pip2.7将安装包蟒蛇2.7.14现在。

通过安装xlrd库测试了这个(注意 - 我在本地目录中xlrd压缩包):

[[email protected] pshah]# pip2.7 install xlrd-1.1.0.tar.gz 
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. 
Processing ./xlrd-1.1.0.tar.gz 
Building wheels for collected packages: xlrd 
    Running setup.py bdist_wheel for xlrd ... done 
    Stored in directory: /root/.cache/pip/wheels/b9/dc/43/e6acfa12bc48cdf3654dd7f44c66880548ea0322324bc6095f 
Successfully built xlrd 
Installing collected packages: xlrd 
Successfully installed xlrd-1.1.0 

[[email protected] pshah]# /usr/local/bin/python2.7 
Python 2.7.14 (default, Oct 6 2017, 18:31:52) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import xlrd 
>>>