【问题标题】:Unable to import packages in python project using setuptools无法使用 setuptools 在 python 项目中导入包
【发布时间】:2016-12-25 02:27:04
【问题描述】:

当我尝试使用以下命令运行 setup.py 时: python setup.py sdist --dist-dir dist

这会在 dist 文件夹下创建压缩文件,但是当我尝试运行代码时,它显示错误“未找到名为 slacker 的模块” 虽然 slacker-0.9.24-py2.7.egg 是在我的根文件夹中创建的。 目录结构为:

--quality-sanity-checks
-----setup.py
-----notify
       |---<my python files>




from setuptools import setup
    setup(
        name='quality-sanity',
        version='0.0.1-SNAPSHOT',
        description='Service to alert on quality issues',
        download_url='http://gec-maven-nexus.walmart.com/nexus/content/repositories',
        license='proprietary',
        setup_requires=[
            'requests',
            'slacker'
        ],
        install_requires=[
            'requests',
            'slacker'
        ],
        zip_safe='true'
        #dependency_links=['http://github.com/os/slacker/tarball/master#egg=slacker-0.9.24']
    )

【问题讨论】:

    标签: python-2.7 setuptools


    【解决方案1】:

    这是因为 python setup.py sdist --dist-dir dist 将在您的“dist”文件夹内的 zip 中创建文件,如果您尝试运行 python 并尝试从 same dir 路径导入 from slacker import Slacker 不会给您带来任何问题,但如果您尝试从任何其他 dir 路径导入相应的将面临错误 ImportError: No module named slacker。这是因为相应的导入文件仅存在于您运行 python setup.py sdist --dist-dir dist 命令的源文件夹中。

    并且,您怀疑为什么在您的根目录中创建相应的 slacker-0.9.24-py2.7-egg.info 文件夹,您可以参考以下问题的答案:Why does "python setup.py sdist" create unwanted "PROJECT-egg.info" in project root directory?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-08
      • 1970-01-01
      • 1970-01-01
      • 2019-04-28
      • 1970-01-01
      • 2022-06-25
      相关资源
      最近更新 更多