问题标签 [distutils]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
44591 浏览

python - distutils:如何将用户定义的参数传递给 setup.py?

请提示我如何将用户定义的参数从命令行和 setup.cfg 配置文件传递到 distutils 的 setup.py 脚本。我想编写一个 setup.py 脚本,它接受我的包特定参数。例如:

0 投票
6 回答
14874 浏览

python - Python distutils, how to get a compiler that is going to be used?

For example, I may use python setup.py build --compiler=msvc or python setup.py build --compiler=mingw32 or just python setup.py build, in which case the default compiler (say, bcpp) will be used. How can I get the compiler name inside my setup.py (e. g. msvc, mingw32 and bcpp, respectively)?

UPD.: I don't need the default compiler, I need the one that is actually going to be used, which is not necessarily the default one. So far I haven't found a better way than to parse sys.argv to see if there's a --compiler... string there.

0 投票
1 回答
293 浏览

python - 如何使用 Python setuptools 为一组定义的鸡蛋加载入口点?

我想在 setuptools 中使用入口点功能。

在很多情况下,我想严格控制正在运行的鸡蛋列表,以及有助于一组入口点的扩展:

  • 鸡蛋集成测试,我想在不同的鸡蛋组合上运行多个测试套件。
  • 扫描鸡蛋/插件的单个目录,以便运行同一程序的两个不同实例,但使用不同的鸡蛋。
  • 开发时间,我正在开发一个或多个鸡蛋,并希望将程序作为正常编辑运行周期的一部分运行。

我查看了 setuptools 文档,虽然它没有说这是不可能的,但我一定错过了一些说明如何做的事情。

以不同于默认系统范围发现的方式部署插件的最佳方法是什么?

0 投票
5 回答
15967 浏览

python - 如何让 setup.py 使用文件的相对路径?

我正在尝试使用distutils. 不幸的是,我的目录结构如下所示:

这是我的setup.py文件:

当我python setup.py sdist正确运行它时,它会生成清单文件,但不会在分发中包含我的源文件。显然,它创建了一个目录来包含源文件(即mypackage1),然后将每个源文件复制到mypackage1/../mypackage其中,将它们放在分发之外。

我怎样才能纠正这个问题,而不强制我的目录结构符合distutils预期?

0 投票
1 回答
4973 浏览

python - setuptools 如何决定为 sdist/bdist 保留哪些文件?

我正在开发一个在 setup.py中使用namespace_packages和类似的 Python 包:find_packages()

它不在源代码控制中,因为它是一组上游组件。没有清单。

当我运行时,python setup.py sdist我得到了package/目录下大多数文件的压缩包,但任何不包含.py文件的目录都被排除在外。

setup.py构建发行版中包含和排除的内容的默认规则是什么?我通过添加MANIFEST.inwith解决了我的问题

但我想了解 setuptools 和 distutils 默认在做什么。

0 投票
1 回答
546 浏览

python - 如何使 PyMe(Python 库)在 Windows 上的 Python 2.4 中运行?

我想在 Windows XP 的 Python 2.4 上运行这个库。

我安装了 pygpgme-0.8.1.win32.exe 文件,但得到了这个:

然后这个弹出窗口出现


我需要为 Python 2.4“编译”它吗?我怎么做?

0 投票
2 回答
323 浏览

python - 如何使用 distutils 安装到特定的 Python 安装?

我有一台安装了 Python 2.3、2.6 和 3.0 以及安装了 Cygwin 的 2.5 的 Windows 机器。我已经下载了 pexpect 包,但是当我运行“python setup.py install”时,它会安装到 2.6 安装。

如何将它安装到 Cygwin Python 安装或任何其他安装?

0 投票
1 回答
2218 浏览

python - python distutils / setuptools:如何排除模块,或尊重 svn:ignore 标志

我有一个 python 项目,“myproject”,它包含几个包。其中一个包“myproject.settings”包含一个模块“myproject.settings.local”,该模块通过“svn:ignore”属性从版本控制中排除。

我希望 setuptools 在制作 bdist 或 bdist_egg 目标时忽略此文件。

我已经尝试过 find_packages(exclude..) 无济于事。理想情况下,我希望只包含 svn 不会忽略的文件。

有没有办法实现对我的模块的排除?(我在 setuptools 主干的修补(http://bugs.python.org/setuptools/issue64)版本上,带有颠覆 1.6。)

感谢您提供的任何见解

-坦率

0 投票
3 回答
1128 浏览

python - python distutils win32版本问题

所以你可以使用distutils来创建一个文件,比如

您可以运行并使用它来轻松安装某些东西。但是,安装需要用户输入才能继续(您必须单击“确定”三次)。我想创建一个易于安装的 Windows 版本,您可以将其作为 cmd 行程序运行,不需要用户输入。这可能吗?这些 .exe 文件是否已经这样做了,但是您需要向它们传递一个神奇的 cmd 行参数才能工作?

0 投票
3 回答
3294 浏览

python - 在 distutils/setuptools 之前和之后访问数据文件

我正在做一个独立于平台的 PyQt 应用程序。我打算使用 setuptools 编写 setup.py 文件。到目前为止,我已经设法解除平台技术,例如根据平台加载 setup() 的特定选项,以便在 Windows 上使用 py2exe ......等等......

但是,对于我的应用程序,我分发了一些主题、HTML 和图像,我需要在运行时将这些图像加载到应用程序中。到目前为止,它们都存储在应用程序的主题/目录中。

我一直在阅读有关 setuptools 和 distutils 的文档,并发现如果我为 setup() 提供了 data_files 选项以及要安装在“share/MyApp/themes/”中的主题/目录中的所有文件,它将被安装/usr/ 前缀,或平台上的任何 sys.prefix。我假设无论我在哪个平台上,我都会使用 os.path.join(sys.prefix, "share", "MyApp", "themes") 找到数据文件,对吧?

但是,我也希望能够在开发过程中访问数据文件,它们位于相对于应用程序源的主题/目录中。我该怎么做呢?是否有一些聪明的方法来确定应用程序是否已安装?或者是一个映射到数据文件的实用程序,无论它们现在在哪里?

我真的很讨厌添加各种丑陋的黑客来查看是否有与源相关的主题,或者在 sys.prefix/share... 等... 我如何在开发过程中找到数据文件?并在任意平台上安装后?