【问题标题】:pip does not install README.mdpip 不安装 README.md
【发布时间】:2021-06-01 15:44:02
【问题描述】:

我创建了包,并将其部署到了一个私有 pypi 服务。 源码包中包含README.md

tar -tzf client/dist/my-api-client-0.1.0.tar.gz | grep README
my-api-client-0.1.0/README.md

但是当我安装它时

pip install --pre --extra-index-url https://pypi.myservice.com my-api-client

我得到了 python 源,但README.md 没有出现在站点包下的任何地方。 我尝试使用--no-binary :all: 强制安装源代码,但这似乎没有任何区别。

我需要pip 的一些选项来安装它吗?还是我完全做错了什么?

【问题讨论】:

  • 通常是 create a MANIFEST.in 并在该清单中包含自述文件
  • 请注意a README is usually only included in the metadata。实际上安装它并不常见,大多数人不会意识到他们可以在源代码旁边查找它。
  • 我在查看the docs,它说README.md 自动包含在 setuptools 36.4.0+ 中。这是在骗我吗? (我使用的是 40.6.2)
  • @MisterMiyagi 嗯......我没有意识到这并不常见......我在我的site_packages 下看到了来自各种包的一大堆自述文件。在哪里可以找到更常见的方法? (这是一个 api 客户端的内部包,由 swaggerdocs 生成,因此它没有自己的 repo 或任何其他明显的托管位置)

标签: python pip setuptools


【解决方案1】:

如果要包含其他文件,如 README.md,则必须指定它。

  1. 在 setup.py 中添加 include_package_data 选项:

    设置( …… include_package_data=真, ...)

  2. 创建一个 MANIFEST.in 文件并指定要包含在包中的文件:

    包括 README.me

【讨论】:

  • 谢谢。我正在查看the docs,它说README.md 自动包含在 setuptools 36.4.0+ 中。这是在骗我吗? (我使用的是40.6.2)另外,我不确定我是否理解轮子和源之间的关系......我的理解是如果有轮子包pip不会安装源,我还阅读了MANIFEST.in不影响轮子。那么,解决方案是什么?根本不发布轮子?
猜你喜欢
  • 1970-01-01
  • 2021-04-20
  • 2014-02-08
  • 1970-01-01
  • 1970-01-01
  • 2021-06-17
  • 2016-02-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多