当前位置: 首页 > 面试题库 >

Pip可以在安装时安装setup.py中未指定的依赖项吗?

傅峰
2023-03-14
问题内容

我希望pip在用户发出命令以安装原始软件时,也可以从GitHub上的源安装GitHub上的依赖项。这些软件包都不在PyPi上(而且永远不会)。

用户发出命令:

pip -e git+https://github.com/Lewisham/cvsanaly@develop#egg=cvsanaly

这个仓库有一个requirements.txt文件,另一个依赖于GitHub:

-e git+https://github.com/Lewisham/repositoryhandler#egg=repositoryhandler

我想要的是一个 命令 ,用户可以发出一个 命令 来安装原始软件包,让pip找到需求文件,然后再安装依赖项。


问题答案:

这个答案帮助我解决了您正在谈论的相同问题。

Vanillasetuptools不支持直接从git存储库下载,但是您可以使用该页面的“下载源”链接之一,例如:

easy_install http://github.com/mtai/python-gearman/tarball/master

setup.py似乎没有一种简单的方法可以直接使用需求文件来定义其依赖项,但是可以将相同的信息放入setup.py本身。

我有这个要求。txt:

PIL
-e git://github.com/gabrielgrant/django-ckeditor.git#egg=django-ckeditor

但是,当安装该requirements.txt的包含软件包时,pip会忽略这些要求。

这个setup.py似乎迫使pip安装了依赖项(包括我的django-ckeditor的github版本):

from setuptools import setup

setup(
    name='django-articles',
    ...,
    install_requires=[
        'PIL',
        'django-ckeditor>=0.9.3',
    ],
    dependency_links = [
        'http://github.com/gabrielgrant/django-ckeditor/tarball/master#egg=django-ckeditor-0.9.3',
    ]
)

编辑:

此答案还包含一些有用的信息。

需要指定版本作为“ #egg = …”的一部分,以标识链接中可用的软件包版本。
但是请注意,如果您始终希望依赖于最新版本,则可以 dev在install_requires,dependency_links和其他软件包的setup.py中将其设置为。

编辑: 使用dev版本不是一个好主意,如以下评论所述。



 类似资料:
  • 问题内容: 有什么方法可以强制安装pip python软件包,而忽略所有无法满足的依赖关系吗? (我不在乎这样做有多“错”,我只需要这样做,除了逻辑和推理之外……) 问题答案: 点有一个开关。您应该使用它。 有关更多信息,请运行,在这里您将看到以下行:

  • 要从公司代理后面安装 Python 包,有时需要向 添加选项,例如 -- 或 -。 这个问题解释了如何在PyCharm中指定代理,这个回答解释了如何在< code>pip调用中添加任何选项。 后者允许我添加所需的选项。不幸的是,这仅在手动安装软件包时有效,不适用于我有<code>要求的情况。txt</code>文件,并希望PyCharm自动安装列出的软件包。这会导致以下错误: 重试(重试(总=4,

  • If you have just checked out a package from version control, you will need to install those dependencies. If you are adding dependencies for your project, then those dependencies are automatically ins

  • 问题内容: 我正在创建 setup.py 来分发我的应用程序。该应用程序具有许多可通过pip安装的依赖项,还具有一些无法从PyPI安装的自定义依赖项。 因此,我创建了一个将包含在发行版中的,并且必须在 setup.py 从安装了所有内容之后作为依赖项进行安装。 想象以下应用程序结构: 我怎么做? 问题答案: 可能但不确定应使用哪个setuptools版本。脚步: 在setup.py中 重要的是您的

  • 问题内容: 我对Linux相对较新,正在尝试为python安装pygame开发环境。当我运行setup.py时,它说我需要安装以下依赖项,其中之一是我找到并安装的(SDL)。但是,其他的则更加难以捉摸。 如果您能给我一些指导,我将不胜感激。 谢谢。 问题答案: 对于debian,有一个预构建的软件包。看这里。您应该能够使用或类似的方式安装它。

  • 我正在尝试在新项目文件夹中安装新的虚拟环境,但它没有在虚拟环境中安装。 下面是bash日志: 这里的问题是没有安装在中。我的问题是-这正常吗?我应该自己安装吗?如果是这样,我将如何做到这一点,以便当我运行类似于的东西时,安装在中? 顺便说一句,我想把所有东西都放在2.7里是我的计算机用户名。

  • 我正在将一个组件打包到jar文件中,并试图将其安装到另一个系统中进行开发。我正在使用maven安装该文件,如下所示(摘自https://maven.apache.org/plugins/maven-install-plugin/examples/custom-pom-installation.html): Maven报告jar已成功安装: 我看到jar和pom文件都放在/home/user/中。m

  • 问题内容: 我正在使用和。 我想从URL安装额外的库,例如安装setup.py上的git repo。 我在中添加了额外的参数。这意味着,我的库需要额外的库,并且还必须安装它们。 但是git repos之类的网址不是in中的有效字符串。假设,我想从github安装一个库。我已经搜索过该问题,发现了可以放入库中的内容。但这仍然行不通。这是我的依赖链接定义; 链接有效。我可以使用这些URL从Intern