Python2 + 3:如何安装从源代码和离线安装的 Python3 模块?
Posted
技术标签:
【中文标题】Python2 + 3:如何安装从源代码和离线安装的 Python3 模块?【英文标题】:Python2 + 3 : How to install modules for Python3 installed from sources and offline? 【发布时间】:2016-12-28 19:18:47 【问题描述】:我正在使用 RedHat Linux 6,目前我只有 2.6.X 版本可从内部 Linux 存储库获得。所以我从存储库安装了 Python2 包,同时我将 python3 从源代码安装到 /opt 目录:
$ ll /usr/bin/python3
lrwxrwxrwx. 1 root root 29 Jul 4 15:04 /usr/bin/python3 -> /opt/python-3.5.2/bin/python3
现在的问题是我不知道如何在不破坏 Python 2 安装的情况下安装从源安装的 Python3 模块,因此不在默认目录中(Python2 的模块是从内部存储库安装的)。
此外服务器无法访问互联网。
如何管理我的 Python 3 安装以获取模块?我阅读了多个文档,但不知道如何继续。
谢谢, 汤姆
【问题讨论】:
【参考方案1】:将 python3 安装文件夹中的“python.exe”更改为“python3.exe”。确保您可以使用“python”启动 Python2 和“pyhton3”启动 python3。
对于 Python3,使用命令python3 -m pip
【讨论】:
谢谢。但是我需要/必须保持 Python2 可用。 很遗憾找不到 pip3 : $ python3 -m pip /usr/bin/python3: No module named pip @user3566182 - 检查您是否在该文件夹中安装了带有 Python3 的 pip。如果没有,请下载包here并手动安装。您也可以使用find / -name "pip*"
来检查您的Python3 是否已完全安装。
我终于设法通过使用 --with-ensurepip=install
选项集重新编译我的 Python 3.5.2 来获得 pip3:./configure --prefix=/opt/python-3.5.2 --with-zlib=/usr/include --with-ensurepip=install
。我现在可以运行它sudo python3 -m pip install mypackage
。我正在测试。谢谢。【参考方案2】:
您可以使用virtualenv为不同的python版本构建单独的环境,然后使用离线安装包安装第三方库。
【讨论】:
【参考方案3】:因此,如果您从源代码下载了 python,例如
tar -zxvf python-3.6.3.tgz
cd python-3.6.3.tgz
./configure
make
make install
现在将 python 重命名为 python3
mv python python3
现在安装模块
./python3 -m pip install pandas
【讨论】:
以上是关于Python2 + 3:如何安装从源代码和离线安装的 Python3 模块?的主要内容,如果未能解决你的问题,请参考以下文章
ansible-playbookansible服务端的在线和离线安装
ansible-playbookansible服务端的在线和离线安装