繁体   English   中英

如何使用easy_install从本地主机上的软件包安装软件包?

[英]How can I install a package using easy_install from a package on the local host?

我正在尝试使用easy_install从本地目录安装Python软件包。

我这样做的原因是由于网络/ IT问题。

我有一个工作站(Ubuntu),可以在Internet上访问easy_install的存储库。 我可以毫无问题地安装东西。

我们有一个与Internet隔离的实验室网络。 我在此实验室网络上有一个Ubuntu VM。 我无法使用easy_install(或pip)来安装任何东西,因为它已从存储库中被阻止。 我需要安装一些Python软件包,因此我需要解决此限制。

我解决pip限制的方法是先对软件包进行“点下载”,然后将软件包文件SCP实验室网络中的VM,然后对软件包文件进行“点安装”。

我正在尝试使用easy_install进行此操作。 通过发出此命令,我能够下载easy_install软件包

    > easy_install -q --editable --build-directory . <package name>

例如,假设我想使用easy_install安装pip。 通过easy_install下载源代码后,我有了pip目录。 我可以将pip目录打包,然后将其SCP切换到VM。 有没有办法告诉VM上的easy_install使用pip目录中的文件进行安装,而不是尝试通过外部存储库进行安装?

我使用easy_install标记搜索了与此类似的问题,但没有看到任何内容,因此我想问一下。

devpi-server是一个缓存的PyPI代理。 如果使用它在一个主机上安装软件包,它将把请求转发到https://pypi.python.org/pypi ,并保存下载的所有内容。 然后,您将~/.devpi的压缩包复制到另一个主机,启动服务器,并让devpi-server提供缓存的文件。

主机1(在线):

$ easy_install --user devpi-server
$ devpi-server --start
$ easy_install --user -i http://localhost:3141/root/pypi/ Django

~/.devpi从主机1复制到主机2

您还需要以某种方式将devpi-server复制到离线框中。 它具有相当多的依赖性。 也许要引导您可以创建一个基本的VM,运行easy_install --user devpi-server ,然后easy_install --user devpi-server ~/.local并将其复制过来?

主机2(无互联网):

$ devpi-server --start
$ easy_install --user -i http://localhost:3141/root/pypi/ Django
# Success!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM