在“撰写设置脚本(http://docs.python.org/2/distutils/setupscript.html)”的python文档中提到可以在本节中指定依赖项
> 2.4。发行与包装之间的关系
[…]可以使用distutils.core.setup()函数的关键字参数来指定这些关系。
可以通过向setup()提供require关键字参数来指定对其他Python模块和软件包的依赖关系。该值必须是字符串列表。每个字符串指定所需的程序包,以及可选的版本。
要指定需要任何版本的模块或软件包,该字符串应完全由模块或软件包名称组成。示例包括“ mymodule”和“ xml.parsers.expat”。
[…]
在没有示例的情况下,给出了相当少的信息,我只想确保我做对了。另外,我requires
在API说明http://docs.python.org/2/distutils/apiref.html#distutils.core.setup中找不到此参数
这样做是不是这样,例如,
setup(name='MyStuff',
version='1.0',
requires='os, sys, progressbar',
[...]
希望有人能给我更多的见识!谢谢!
编辑:
为了解决distutils.core,setuptools的争议,只需执行以下操作即可
try:
from setuptools import setup
except ImportError:
from distutils.core import setup
是否有意义?
忽略distutils
。如果要创建一个程序包,该程序包指定要依赖的工具(如pip
外出并为您查找),则需要以setup.py
off为基础setuptools
。
setuptools
依赖项在中列出install_requires
,其中包含一个列表:
setup(name='MyStuff',
version='1.0',
install_requires=['progressbar'],
# ...
)
应该是他们自己的发行。os
并且sys
是Python随附的模块, 因此不应列出 。
问题内容: 我正在尝试为我的包裹写东西。我的程序包需要指定对另一个git repo的依赖。 这是我到目前为止所拥有的: 当我跑步时: 我懂了 找不到满足SomePrivateLib> = 0.1.0要求的版本(来自分析)(来自版本:)找不到SomePrivateLib> = 0.1.0(来自分析)的匹配分布 我究竟做错了什么 ? 问题答案: 您可以在此处找到正确的方法。 关键不是提供指向git存储
问题内容: 我有一个应用程序,该应用程序具有package.json文件中依赖项下指定的第三方模块(例如“ express”)的通常依赖项。例如 我想模块化地构建自己的代码,并通过package.json安装一组本地(即我当前所在的文件系统上的)模块。我知道我可以通过运行以下命令安装本地模块: 但是,我不知道如何通过package.json依赖项结构来实现这一点。在此命令中使用该选项只是将其放入我
我正在使用Nuget创建包。我想创建一个包,该包不包含任何其他NuGet包的依赖项(在文件中)。我的项目确实在其文件中定义了NuGet包依赖项。 首先创建文件... 我将生成的文件编辑为最小,没有依赖项。 然后我构建了解决方案并创建了一个NuGet包... 下面是该命令的输出... 创建的包包含一个文件,但它包含一个依赖项节,而我在原始文件中没有这个节... 我相信这是因为...(来自上面的输出)
我有一个应用程序,它对第三方模块(例如,'express')有一组通常的依赖关系,这些依赖关系在package.json文件的依赖关系下指定。例如。 我希望模块化地构造自己的代码,并让package.json安装一组本地(即我当前所在的文件系统)模块。我知道可以通过运行以下操作来安装本地模块: 但是,我不知道如何通过package.json依赖项结构实现这一点。在该命令中使用选项只是将放入my p
我已经创建了一个包,通过导入其他程序员的代码来供他们使用。我的程序使用其他jar文件进行XML解析,我不想让其他人担心依赖关系,什么是确保我的jar文件总是获得它的依赖关系的最佳方法? 是否应在原始JAR中包含依赖项? 有其他方法吗?
问题内容: 我正在创建 setup.py 来分发我的应用程序。该应用程序具有许多可通过pip安装的依赖项,还具有一些无法从PyPI安装的自定义依赖项。 因此,我创建了一个将包含在发行版中的,并且必须在 setup.py 从安装了所有内容之后作为依赖项进行安装。 想象以下应用程序结构: 我怎么做? 问题答案: 可能但不确定应使用哪个setuptools版本。脚步: 在setup.py中 重要的是您的