无法使用setuptools导入python项目中的包

时间:2016-08-18 08:32:45

标签: python-2.7 setuptools

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

这会在dist文件夹下创建压缩文件,但是当我尝试运行代码时,它会显示错误:“没有找到名为slacker的模块”#39; 虽然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']
    )

1 个答案:

答案 0 :(得分:0)

这是因为 python setup.py sdist --dist-dir dist 会在你的“dist”文件夹中的zip中创建文件,如果你试图运行python并尝试从slacker import Slacker 中的相同目录路径导入不会给你任何问题,但如果你试图从任何其他dir路径导入相应的路径你' ll面临错误 ImportError:没有名为slacker的模块。这是因为相应的导入文件仅存在于运行 python setup.py sdist --dist-dir dist 命令的源文件夹中。

而且,您怀疑为什么在您的根目录中创建了相应的 slacker-0.9.24-py2.7-egg.info 文件夹,您可以参考以下问题的答案:{{3 }}