无法安装本地构建的python包

时间:2018-06-10 10:43:34

标签: python pip

我最近注意到我无法安装自己的Python软件包。我收到一个错误,表明包含Python模块的包无效。所以,我更新了我的setup.py并删除了一些元素,这就是我现在所拥有的:

from setuptools import setup

setup(
    name='project',
    version='0.3.0',
    packages=['project'],
    license='GPL',
    #zip_safe=False,
    #include_package_data=True,
    #package_data = { 'package': [ 'README.txt', '*.py' ] },

    install_requires=[
        'PyYAML >= 3.11',
        'logger >= 0.2.0',
    ],
    entry_points={
        'console_scripts': ['project = project:main']
    },
)

我删除了一些元素并调用了项目项目。基本上,在项目中,我有一个包,库和一些Python模块。在删除这些行之前:

#zip_safe=False,
        #include_package_data=True,
        #package_data = { 'package': [ 'README.txt', '*.py' ] },

......最近没有用。

奇怪的是,这个setup.py直到一个月前才开始工作。也就是说,在对这些项目进行评论并运行python setup.py版本后,我不再收到有关软件包无效的错误,但同样地,我发现在运行pip install dist/project-0.0.1.tar.gz时没有安装任何内容。在由python setup.py sdist构建的文件中,我确实看到了我期望看到的所有文件。他们只是没有安装,所以我有效地遗漏了根文件夹下的所有软件包(除了init之外的所有软件包)。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

编辑: 解决方案是:

packages=find_packages(),

对我来说,黑客的解决方案就是这样做:

packages=['project', 'project/libraries', 'project/system', 'project/services'],

无论出于何种原因,包裹不再以递归方式工作。

一旦我这样做,瞧,它有效。我可能会稍后回过头来,因为我很好奇发生了什么变化。