问题标签 [setuptools]

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 投票
4 回答
3085 浏览

python - 如何禁止 easy_install 压缩鸡蛋?

我必须采取什么distutils.cfg措施来防止 easy_install 安装压缩鸡蛋?压缩是一个不错的想法,但我希望能够通过 grep 和调试该代码。

python setup.py develop .我通过仔细观察发现了一些依赖项,它也接受 --always-unzip 标志。将其设置为默认值会很好。

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... 等... 我如何在开发过程中找到数据文件?并在任意平台上安装后?

0 投票
13 回答
546806 浏览

python - 如何删除使用 Python 的 easy_install 安装的软件包?

Pythoneasy_install使得安装新包非常方便。但是,据我所知,它没有实现依赖管理器的其他常见功能——列出和删除已安装的包。

找出已安装内容的最佳方法是什么,以及删除已安装软件包的首选方法是什么?rm /usr/local/lib/python2.6/dist-packages/my_installed_pkg.egg如果我手动删除软件包(例如通过或类似方式),是否有任何文件需要更新?

0 投票
1 回答
991 浏览

python - setuptools / dpkg-buildpackage:如果鼻子测试失败,则拒绝构建

我有一个非常简单的 python 包,我使用 setuptools、cdbs 和 pycentral 将它构建到 debian 包中:

设置.py:

Debian/规则:

现在,是否有一种简单的方法可以让 dpkg-buildpackage 执行单元测试并在测试套件失败时拒绝创建 .deb?

0 投票
4 回答
1490 浏览

python - 如何为依赖于 pypi 外部包的程序编写 setup.py

例如,如果PILpython-rsvglibev3程序的依赖项怎么办?这些依赖项不在 pypi 索引中,后两个是 Debian 包名。

0 投票
1 回答
2027 浏览

python - 使用带有安装后和 python 依赖项的 setuptools

这与这个问题有些相关。假设我有一个要通过 rpm 部署的包,因为我需要在安装后进行一些文件复制,并且我有一些要声明的非 python 依赖项。但是我们也假设我有一些 Python 依赖项,这些依赖项在 PyPI 中很容易获得。似乎如果我只是打包成一个鸡蛋,然后解压缩python setup.py install将自动处理我的 python 依赖项,但会丢失任何安装后功能和非 python 依赖项。

有什么推荐的方法吗?我想我可以在预安装脚本中指定这一点,但后来我开始重复信息,并没有真正使用 setuptools 做任何事情。

(我当前的设置涉及传递install_requires = ['dependency_name']setup,它适用于python setup.py bdist_eggand unzip my_package.egg; python my_package/setup.py install,但不适用于python setup.py bdist_rpm --post-install post-install.shand rpm --install my_package.rpm。)

0 投票
3 回答
281 浏览

python - 我想要一些关于将其包装为鸡蛋并将其上传到 pypi 的建议

我写了一些我想打包成鸡蛋的代码。这是我的目录结构:

我想把这个目录结构打包成一个鸡蛋,并包含测试文件。我应该在setup.py文件中包含什么,以便我可以拥有任意数量的命名空间和任意数量的测试?

这是我想分享的第一个开源代码。尽管可能只有我会觉得这个模块很有用,但我还是想把它上传到pypi. 我可以使用什么许可证来允许用户使用代码做他们想做的事情,对重新分发没有限制,修改?

尽管我打算更新这个 egg,但我不想对任何事情负责(例如为用户提供支持)。我知道这听起来可能很自私,但这是我的第一个开源代码,所以请多多包涵。我需要提供许可证的副本吗?我在哪里可以找到副本?

感谢您阅读所有这些内容。

0 投票
4 回答
44580 浏览

python - 在 Python 项目中管理资源

我有一个 Python 项目,其中使用了许多非代码文件。目前这些都是图像,但我将来可能会使用其他类型的文件。什么是存储和引用这些文件的好方案?

我考虑只是在主目录中创建一个文件夹“资源”,但是有一个问题;我的项目的子包中使用了一些图像。以这种方式存储这些图像会导致耦合,这是一个缺点。

此外,我需要一种访问这些文件的方法,该方法与我当前的目录无关。

0 投票
1 回答
928 浏览

python - 修复 rpm/setuptools 打包的权限

我有一个项目需要安装后挂钩进行部署。我的方法是使用 setuptools 生成骨架 rpm 规范文件并 tar 源文件。

问题是我不知道如何用这种方法控制权限。规范文件如下所示:

这工作得相当好:因为所有文件都设置为适当的用户和权限。但是这些目录没有设置属性。我不知道这是否是一个问题,但它看起来确实很奇怪:所有目录都归 root 拥有,具有 755 权限。有谁知道使目录拥有的好(合理标准)方法user?我问是因为我的公司倾向于打包将在特定于应用程序的角色帐户下部署的应用程序。当我使用 setuptools 将结果放入站点包时,.pyc文件会被复制过来。但是,如果我想在路径之外创建一个配置文件目录,这似乎是一个很好的解决方法。

0 投票
3 回答
2271 浏览

python - 如何使用 setuptools/distutils 触发后期构建

我正在使用 py2app/setuptools 构建一个应用程序,所以一旦它创建了应用程序包,我想对 dist 文件夹执行一些操作,例如创建一个安装程序/上传它。

有办法吗?我找到了一些安装后解决方案,但没有构建后

或者,我可以从我自己的脚本中调用“python setup.py py2app”并执行此操作,但如果可以在 setup.py 中完成会更好