python - 如果安装文件未命名为 setup.py,为什么包安装失败?
问题描述
当我想将一个自写的包分成两个包时,我遇到了这个问题。我添加了另一个setup.py
并给了两个新名称以将它们分开。但是,此时安装包不起作用。
一个最小的例子:
src
+--test_package
| +--__init__.py
+--setup_package.py
其中__init__.py
为空并setup_package.py
包含基本设置代码
from setuptools import setup
setup(name='package',
version='0.1',
packages=['package',],
)
我创建一个包python setup-package.py sdist --formats=zip
并尝试使用pip install ./dist/package-0.1.zip
. 这失败了,因为它找不到setup.py
. 如果我重命名setup-package.py
为setup.py
,然后重新构建包,我可以毫无问题地安装。SOURCES.txt
未按setup.py
要求列出。
我尝试过的其他一些事情:重命名setup-package.py
安装而不重建也会产生错误。添加一个空的setup.py
并使用setup-package.py
也不起作用。
我是一个非常关注包装的初学者,但我没有看到任何setup.py
绝对需要并且必须具有特定名称的警告。检查这篇文章我也找不到任何类似的警告,尽管我还没有深入研究。但是在同一个目录中拥有两个包并想要构建它们似乎并不是一个极端的用法,在这种情况下你想要有两个setup.py
文件。这显然是不可能的,所以你需要给他们不同的名字,但这样就行不通了。
为什么会这样?解决这个问题并不太难,但这让我很困惑,我想知道为什么会发生这种情况(以及你打算如何做事)。
解决方案
推荐阅读
- node.js - setState 使用 ReactJS 获取不同数据
- heroku - 我可以将代码推送到远程目录,但不能在 Heroku 中部署相同的东西!这怎么可能?
- react-native - 如果有多个,axios 只返回最后一个“set-cookie”
- android - 可以设置debug/AndroidManifest.xml
- excel - 找不到文件路径时如何退出子程序?
- javascript - 无法使用蚂蚁设计更改多选的值并做出反应
- c# - 如何为拥有的类型创建单个表
- html - 如何将菜单的背景颜色更改为透明?
- excel - vba 图表从一张纸复制到另一张纸。(希望使用工作表索引参考而不是名称)
- tensorflow-serving - Tensorflow Serving,在线预测:如何构建一个接受“image_bytes”作为输入张量名称的签名定义?