问题标签 [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.
python - 访问 python egg 自己的元数据
我使用 setuptools 制作了一个 python egg,并希望在运行时访问它的元数据。我目前正在工作:
但如果我安装了同一个鸡蛋的多个版本,这可能会无法正常工作。如果我同时安装了 egg 和开发版本,那么从开发版本运行此代码将获取已安装 egg 的版本。
那么,我如何获取我的鸡蛋的元数据而不是我系统上安装的一些随机匹配的鸡蛋?
python - 如何将安装后脚本添加到 easy_install / setuptools / distutils?
我希望能够在我的 setup.py 中添加一个钩子,它将在安装后运行(在 easy_install'ing 或 python setup.py 安装时)。
在我的项目PySmell中,我有一些 Vim 和 Emacs 的支持文件。当用户以通常的方式安装 PySmell 时,这些文件会被复制到实际的 egg 中,用户必须将它们取出并将它们放在他的 .vim 或 .emacs 目录中。我想要的是在安装后询问用户,他希望将这些文件复制到哪里,或者甚至只是一条消息,打印文件的位置以及他应该如何处理它们。
做这个的最好方式是什么?
谢谢
我的 setup.py 看起来像这样:
编辑:
这是一个演示的存根python setup.py install
:
easy_install 路线还没有运气。
python - Python 包和 egg-info 目录
有人可以解释一下 egg-info 目录是如何与它们各自的模块相关联的吗?例如,我有以下内容:
我假设 egg-info 目录是为了让 setuptools (easy_install) 可以看到相应的模块,对吧?如果是这样,setuptools 如何将 egg-info 目录绑定到模块目录?
假设我走在正确的轨道上,并且为了举例......如果我想让我的现有包对 setuptools 可见,我可以将模块目录和 egg-info 目录符号链接到站点 -包目录?我自己会尝试这个,但我不确定如何测试该包是否对 setuptools 可见。如果您还可以告诉我如何测试,则可以加分:)
我试图理解这一切的主要原因是因为我想将我的一些模块符号链接到站点包中,以便我可以对它们进行更改并使使用它们的脚本可以看到更改,而无需重新安装每次更改后来自 PyPI 的鸡蛋。
python - 如何在 Windows 上为 Python 2.6 设置 Setuptools?
有没有办法在没有 exe 安装程序的情况下在 Windows 中安装适用于 Python 2.6 的 Setuptools?
目前还没有构建,Setuptools 的维护者表示可能需要一段时间才能完成。
有谁知道无论如何安装它的方法?
python - 关于设置工具和替代品的问题
我最近在互联网上看到了大量的 setuptools。最近,我阅读了 James Bennett 的关于为什么没有人应该使用 setuptools的关于包装的帖子。从我在 Freenode 上的#python 开始,我就知道那里有一些人绝对讨厌它。我会把自己算在其中,但我确实使用它。
我已经将 setuptools 用于足够多的项目以了解它的不足之处,我更喜欢更好的东西。我不是特别喜欢 egg 格式及其部署方式。对于所有 setuptools 的问题,我还没有找到更好的选择。
我对pip之类的工具的理解是,它是一个 easy_install 替代品(而不是 setuptools)。事实上,pip 使用了一些 setuptools 组件,对吧?
我的大多数包都使用了 setuptools-aware setup.py,它声明了所有依赖项。当它们准备好后,我将构建一个 sdist、bdist 和 bdist_egg,并将它们上传到 pypi。
如果我想切换到使用 pip,我需要进行哪些更改才能摆脱 easy_install 依赖项?依赖项在哪里声明?我猜我需要摆脱使用 egg 格式,而只提供源代码分发。如果是这样,我如何生成 egg-info 目录?还是我什至需要?
这将如何改变我对 virtualenv 的使用?virtualenv 不使用 easy_install 来管理环境吗?
这将如何改变我对 setuptools 提供的“开发”命令的使用?我不应该使用它吗?有什么选择?
我基本上是想了解我的开发工作流程会是什么样子。
在任何人建议之前,我并不是在寻找依赖于操作系统的解决方案。我主要关心 debian linux,但 deb 包不是一个选项,原因是 Ian Bicking在这里概述。
python - python setup.py develop 不更新easy_install.pth
根据setuptools文档, setup.py develop 应该在安装到 site-packages 文件夹时创建 egg-link 文件并更新 easy_install.pth。但是,就我而言,它只是创建了 egg-link 文件。setuptools 如何决定是否需要更新 easy_install.pth?
更多信息:当我将 setuptools 0.6c7 作为站点包下的文件夹安装时,它可以工作。但是当我使用作为压缩鸡蛋安装的 setuptools 0.6c9 时,它不起作用。
python - 如何获取“python setup.py”提交的新鲜肉类信息?
这可以在 pypi 上提交有关您的软件的信息:
但是没有类似的命令可以将信息提交给freshmeat。我怎么能写一个 distutils.Command 让我做以下事情?
django - 如何将 django 应用服务器部署为一个鸡蛋,在 fastcgi 后面运行?
我想在 apache/fastcgi 后面运行一个 django appserver。没问题,django 开箱即用。
我希望这个 appserver 可以通过 setuptools 进行部署。也就是我把它做成鸡蛋,用easy_install安装。这部分我也可以处理,即使 setuptools 不是 django appserver 的标准补充。
但我想不通的是 dispatch.fcgi 是如何实际调用这个 my_app.egg 来“启动”服务器进程的。有没有人曾经在这个配置中运行过?
python - 如何在 Gnome(使用 distutils 或 setuptools)中分发 Python 包的“.desktop”文件和图标?
目前我正在使用自动工具来构建/安装和打包我的项目,但我真的很想转向感觉更“pythonic”的东西。
我的项目由两个脚本、一个模块、两个 glade GUI 描述和两个 .desktop 文件组成。它目前是一个纯 python 项目,尽管这可能很快就会改变。
查看 setuptools 我可以轻松了解如何处理除 .desktop 文件之外的所有内容;它们必须最终位于特定目录中,以便 Gnome 可以找到它们。
开始使用 distuils/setuptools 是个好主意吗?
python - 组合 Python 和 Ruby 扩展模块
我有一个 Python 的 C 扩展模块,我想让 Rubyists 可以使用它。
源代码有许多 C 模块,只有一个依赖于 Python。其余的仅依赖于彼此和标准库。python setup.py build
我可以用通常的方式构建它。
我一直在尝试使用添加 Ruby 支持,newgem
并且可以使用rake gem
. 然而,合并后的源代码有一个丑陋的目录布局(混合了 Gem 风格和 Setuptools 风格的结构),并且构建过程很杂乱。
我不能只将所有源代码保存在同一个目录中,因为会mkmf
自动选择依赖 Python 的模块并尝试构建它,并且用户不必安装 Python 来编译不会使用的模块。我目前的技巧是extconf.rb
将独立于 Python 的源文件复制到与依赖于 Ruby 的扩展模块相同的目录中。
有没有更明智的方法可以使代码对两种语言都可用?我应该在单独的 Gem 中复制与 Python 无关的代码吗?我应该将独立代码作为使用 autotools 构建的单独库发布吗?有没有mkmf
可以跳过不需要的模块的版本?