【问题标题】:setup.py to include dependencies from local libsetup.py 包含来自本地库的依赖项
【发布时间】:2016-12-13 16:20:21
【问题描述】:

我即将发布一个新包,我工作的人应该能够通过pip install my_package 安装它,因为他们在本地接收轮子。它还应该安装一个依赖项列表。不过,我在依赖项方面遇到了麻烦。

我在本地(在我构建版本的计算机上)拥有所有依赖项,所以我只想随这些包一起发布。但是我如何自动执行此操作(假设我有一个确切依赖项的列表)?

我不想从 PyPi 或类似的地方下载依赖项,因为我们有严格的防火墙政策。

编辑

我在想我需要做一些类似的事情

pip wheel --wheel-dir=lib/ -r requirements.txt

但它会尝试从 url 获取需求,而不是从本地 lib 文件夹中获取。有什么建议吗?

【问题讨论】:

  • 您可以将选项--download-cache=/path/to/cachepip install 一起使用,也许它也可以满足您的需要。
  • @DawidFerenczy 我不想安装任何东西。我只想为我的项目使用的每个依赖包提供一个轮子。这样我就可以用这些轮子交付项目
  • 谁说你想安装任何东西?仔细阅读我写的内容。或者我宁愿尝试改写它以防我写得太复杂:pip install 有选项--download-cache。检查您是否也可以将此类选项用于pip wheel

标签: python pip project-management


【解决方案1】:

pip wheel 命令有option --index-url <url>,可能是:

Python 包索引的基本 URL(默认 https://pypi.python.org/simple)。这应该指向符合 PEP 503(简单存储库 API)的存储库或以相同格式布局的本地目录。

您还可以查看PyPI mirrors and caches 用户指南文章,如果其中任何解决方案适合您。

【讨论】:

  • 我发现pip download -r requirements.txt 很有用。
  • 所以你在本地下载所有依赖项,然后呢?您的同事应该如何从那里安装它?顺便说一句,pip download 命令没有明确指定的本地目录从 PyPI 服务器下载它吗?
猜你喜欢
  • 1970-01-01
  • 2019-06-29
  • 2016-06-10
  • 2014-03-24
  • 1970-01-01
  • 2012-07-18
  • 2015-12-17
  • 2015-07-04
  • 1970-01-01
相关资源
最近更新 更多