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服务端的在线和离线安装

ansible-playbookansible服务端的在线和离线安装

ansible 离线包制作和离线部署

SharePoint 2013 安装配置

SUSE zypper 添加源和离线下载rpm包