首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在没有互联网访问的rhel 6上的虚拟python环境(virtualenv或pyvenv)中安装rpm包。

在没有互联网访问的rhel 6上的虚拟python环境(virtualenv或pyvenv)中安装rpm包。
EN

Stack Overflow用户
提问于 2015-04-17 01:11:23
回答 3查看 2.5K关注 0票数 2

我的RHEL服务器只能访问我的IT部门预先批准的包。我正在开发一个将在此服务器上托管的Python应用程序。目前,我已经设法在不同的位置(/usr/local/bin)构建了最新版本的python。我可以创建虚拟环境来将它与系统的其余部分隔离开来。

现在,我需要在环境中使用pip安装包,以使应用程序正常工作。姜戈。由于IT已经禁用了所有对互联网的访问,我无法执行pip install package_name。嗯,我可以,但它试图从互联网上下载软件包,然后超时。当我下载django包的rpm并尝试在虚拟环境中安装它时,它失败了:

代码语言:javascript
复制
(envtest) [root@arlwebimgakp02 envtest]# rpm -ivh python3-django-1.7.2-1.fc22.noarch.rpm
error: Failed dependencies:
        /usr/bin/python3 is needed by python3-django-1.7.2-1.fc22.noarch
        python(abi) = 3.4 is needed by python3-django-1.7.2-1.fc22.noarch
        python-django-bash-completion = 1.7.2-1.fc22 is needed by python3-django-1.7.2-1.fc22.noarch
        python3 is needed by python3-django-1.7.2-1.fc22.noarch

因此,看起来rpm安装是从python (2.6.6)的通用安装中寻找依赖项,而不是在虚拟环境中使用的单独编译的3.4.3。我能做到吗?我可以只在虚拟环境中安装rpm包吗?如果没有到服务器的互联网访问,我如何才能将我的python包安装到我的虚拟环境中?

EN

回答 3

Stack Overflow用户

发布于 2015-04-17 01:44:58

RPM是一个系统级的包管理器。它将检查其内部数据库中的依赖项。不检查可执行python是否存在,但检查包python是否存在。

你需要下载Django-1.8.tar.gz,复制到linux机器上

代码语言:javascript
复制
pip install Django-1.8.tar.gz
票数 0
EN

Stack Overflow用户

发布于 2015-04-17 01:50:29

您需要让您的IT部门相信python包是一个好东西,就像rpm一样。然后,您可以通过直接从pypi.python.org下载或使用pip来构建所需包的目录,如下所示:

代码语言:javascript
复制
pip install --download=/path/to/pypi/repo django

然后,在您的虚拟环境中执行以下操作

代码语言:javascript
复制
pip install --no-index --find-links=/path/to/pypi/repo django

因为您的IT部门是乐于助人和开明的,您甚至可以说服他们安装devpi之类的pypi缓存,使您的部署到您的许多同事变得更加容易。

票数 0
EN

Stack Overflow用户

发布于 2020-03-25 02:23:22

首先,您不能在virtualenv中安装RPM。virtualenv只影响由pip安装的Python包。

您可以使用另一台可以访问internet的计算机来下载所需的Python包,并将其上传到服务器上进行安装。您可以指定包的Python版本,甚至可以使用需求文件(如果有)。例如,如果您想要为Python 3.5安装最新版本的Django,您可以执行以下操作:

代码语言:javascript
复制
# On your machine with internet access
pip download --python-version "3.5" --only-binary=:all: Django

这将下载一系列.whl文件。将所有这些上传到您的服务器,然后在服务器上的virtualenv中运行以下命令:

代码语言:javascript
复制
pip install *.whl
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29681618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档