Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Setuptools安装库而不是其软件包_Python_Setuptools_Setup.py - Fatal编程技术网

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

这是我的
(简化):

和my
setup.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=[])