【问题标题】:Distributing Python script which depends on a package分发依赖于包的 Python 脚本
【发布时间】:2016-09-26 16:04:10
【问题描述】:

我写了一个使用 Selenium 的脚本,我通过 pip 安装了 Selenium。有没有办法可以将此脚本分发给其他人,而无需他们通过 pip 安装 Selenium?

我在看:

https://pypi.python.org/pypi/selenium#downloads

如果我在我的项目文件夹中包含来自 PyPI 的 Selenium 的源代码分发,会有帮助吗?这样人们只需点击源代码分发版的install.py 即可安装 Selenium?

【问题讨论】:

  • 你不能用你的包打包另一个包,除非你想在你的脚本中包含它的所有源代码/二进制文件。但是,当您的脚本由 pip 之类的包管理器安装时,您可以安装 selenium 和任何其他依赖项,以便 pip install your_pkg 安装所有丢失/过时的依赖项。

标签: python python-2.7 python-3.x selenium pip


【解决方案1】:

您可以使用setuptoolsinstall_requires 关键字。

像这样:

from setuptools import setup

setup(
    # options
    install_requires = ['selenium'],
)

见教程here

然后当他们使用 pip 安装你的包/模块时,selenium 也会被安装。

【讨论】:

    【解决方案2】:

    我无法找到这个问题的真正答案:

    import os
    import sys
    
    os.system("python get-pip.py")
    
    try:
        import pip
    except ImportError:
        input('Could not install pip, please enter any key to quit this window.')
        sys.exit()
    
    
    def install(package):
        pip.main(['install', package])
    
    if __name__ == '__main__':
        install('selenium')
    

    我就是这样做的,它利用了 pip。现在人们只需执行该脚本即可为他们安装pipselenium,但是我不确定这是否是正确的方法。

    【讨论】:

      猜你喜欢
      • 2012-04-13
      • 2011-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-13
      • 2010-11-24
      • 2012-12-02
      • 2013-01-26
      相关资源
      最近更新 更多