Python Setuptools安装库而不是其软件包
这是我的Python Setuptools安装库而不是其软件包,python,setuptools,setup.py,Python,Setuptools,Setup.py,这是我的树(简化): 和mysetup.py: from setuptools import setup setup(name='internal-models', version='0.0.2', description='models package', packages=["models"], zip_safe=False, install_requires=[]) 当我使用pip install.或pyt
树
(简化):
和mysetup.py
:
from setuptools import setup
setup(name='internal-models',
version='0.0.2',
description='models package',
packages=["models"],
zip_safe=False,
install_requires=[])
当我使用pip install.
或python setup.py build
安装时,Setuptools安装内部模型
(由于非法字符,无法导入),而不是我想要的包模型
。我做错了什么?已经阅读了设置工具和各种相关问题,但我仍然感到困惑
所以这个问题只是因为我的误解,但我想我应该在回答中澄清一下,因为这里有一个区别(对我来说)与
Setuptools
文档的区别不是很清楚
setup.py
/setup.cfg
中定义的分发名称是整个包的名称,它将保存在您环境的站点包
目录中,并通过pip freeze
输出。这不重要。有效名称在PEP 508中定义。例如,它们可能包含破折号,这在导入包中虽然不是非法的,但PEP 8不鼓励使用破折号。(这是因为Python将破折号解释为减号。)
在
setup.py
/setup.cfg
中定义的导入包(或模块)可以在Python中导入。因此,在我的例子中,内部模型
正在安装中,但我使用模型
包的方式是通过导入模型
(我想要的行为)。尝试将setup.py文件移到模型文件中?不,这没有帮助。请为我们提供一个Github repo进行实验?@phd done。将setup.py更改为setup.cfg以简化,但在其他方面相同。提前感谢您的帮助!它适用于我的git clonehttps://github.com/lordgrenville/internal-models.git; pip安装-e内部\u型号/。将编辑回购协议以包含setup.py
。这是一个更好的答案,谢谢!
from setuptools import setup
setup(name='internal-models',
version='0.0.2',
description='models package',
packages=["models"],
zip_safe=False,
install_requires=[])