python没有安装setuptools

时间:2016-02-19 22:14:02

标签: python pip setuptools

我编写了一个依赖于openpyxl的python模块。我希望使用setuptools自动将openpxyl安装为依赖项。 我读到正确的方法是在setup.py脚本中包含以下内容:

setup(name='methpipe',
    version=find_version("lala", "__init__.py"),
    description='Utilities',
    author='Jonathan T',
    author_email='jt@lala.com',
    url='https://git.com...',
    packages=find_packages(),
    install_requires=[
        'openpxyl = 2.3.3',
    ],
    scripts=["bin/submit_run_full.py"],
    cmdclass=dict(install=my_install)
)

所以我用python setup.py sdist打包了我的模块,拿了* .tar.gz文件,解压缩它,然后运行python setup.py install,而openpyxl没有安装!!!

我在这里做错了什么?

3 个答案:

答案 0 :(得分:2)

尝试在install_requiressetup_requires中提供您的依赖关系。

以下内容来自https://pythonhosted.org/setuptools/setuptools.html

setuptool文档
  

setup_requires

     

字符串或字符串列表,指定为了运行安装脚本而需要存在的其他分发。   setuptools将尝试获取这些(甚至可以实现   在处理剩下的部分之前,先使用EasyInstall下载它们   设置脚本或命令。如果您正在使用,则需要此参数   distutils扩展作为构建过程的一部分;例如,   处理setup()参数并将它们转换为EGG-INFO的扩展   元数据文件。

     

(注意:setup_requires中列出的项目不会自动生效   安装在运行安装脚本的系统上。他们是   如果它们不是本地的,只需下载到./.eggs目录   已经可用了。如果你想安装它们,以及存在   运行安装脚本时可以使用,您应该将它们添加到   install_requires和setup_requires。)

答案 1 :(得分:0)

当使用“ cmdclass”键覆盖“ install”时,我会注意到。下面的模式也使我摆脱了依赖关系。

SELECT * FROM LookUp WHERE idLookUp = 212

将依赖项添加到setup_requires中对我来说不起作用,因此最后我只是在custom install命令中进行了自己的pip安装。

Custom_Install(install):
    def run(self):
        # some custom commands
        install.run(self) 

答案 2 :(得分:0)

使用sdist进行构建会创建源代码分发,因此,我认为这不是正常的taht依赖关系。

相关问题