问题标签 [egg]

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 投票
2 回答
10634 浏览

python - python:带有一个文件源文件的 python 鸡蛋的简单示例?

我不太确定如何构建一个非常简单的单文件源模块。是否有一个可以构建为 python .egg 的示例模块?

setuptools 页面看起来很简单,你只有你的setup.py文件,然后在某个地方至少有一个其他 .py 文件,我可以构建一个 .egg 文件 OK,甚至使用 安装它easy_install,但我似乎看不到import文件从python内部。(注:使用 2.6.4)


这是我的示例目录:

设置.py:

sconsconfig.py:

如果我运行setup.py bdist_egg它然后创建一个 egg 文件,但如果我查看它,没有 .py 源文件....

0 投票
2 回答
119 浏览

python - 为什么 sys.path 显示不存在的项目(导致导入问题)?

我看到了一些额外的项目,sys.path其中 1) 不存在和 2) 导致导入问题(特别是Nose)。

foo基本上,我创建了一个在多个项目中使用的包(我们称之为)。我目前正在处理的项目可以foo毫无问题地导入所有内容,但是当我运行时Nose出现导入错误:

当我吐出路径时,我得到:

/path/to/my-project/foo不存在。如果我弹出前 2 个条目,sys.path一切正常。

有人可以向我解释为什么这些项目会出现,实际上,列表中唯一应该出现的项目是安装到 virtualenv 中的项目吗?

以及如何阻止这种情况在未来发生?和setup.pyin 有关系foo吗?

0 投票
3 回答
11457 浏览

python - 创建 Python 包结构和 egg 的简单说明是什么?

我刚刚完成了我的第一个(次要)Python 项目,我的老板希望我把它打包好,以便可以轻松地分发和从其他程序调用。他建议我研究鸡蛋。我一直在谷歌搜索和阅读,但我只是感到困惑。我正在查看的大多数网站都解释了如何使用已经创建的 Python 鸡蛋,或者如何从 setup.py 文件(我还没有)创建鸡蛋。我现在只有一个 Eclipse pydev 项目,其中包含大约 4 个模块和一个设置/配置文件。在简单的步骤中,我如何将其结构化为文件夹/包并将其编译为一个鸡蛋?一旦它是一个鸡蛋,我对部署/构建/使用它有什么了解?我真的是从零开始,所以不要以为我什么都知道;简单的分步说明将非常有帮助...

这些是我到目前为止一直在关注的一些网站:

我还浏览了一些 SO 问题,但还没有真正找到我需要的东西。

谢谢!

0 投票
2 回答
611 浏览

python - 我创建了一个 Python 鸡蛋;怎么办?

我终于想出了如何创建一个 Python egg 并让它工作。现在......我该怎么办?我该如何使用它?如何确保正确包含所有内容?(请简单的步骤......不仅仅是重定向到另一个网站。我用谷歌搜索过,但这让我很困惑,我希望有人可以用几个简单的要点或句子来解释它。)

编辑

几周前我问过这个问题,现在我正在澄清,希望得到更清晰的答案......基本上,我有一个鸡蛋,我想把它带到另一台机器上,并能够使用它并导入模块来自我的(其他,不相关的)代码。我该怎么做呢?

0 投票
1 回答
446 浏览

python - 在源代码中覆盖 setup.cfg 中的 DEFINE

PySQLite 2.6.0 的源代码包含一个setup.cfg如下所示的文件:

我想用SQLITE_OMIT_LOAD_EXTENSION定义禁用(未设置)来构建鸡蛋。我可以通过在 setup.cfg 中取消注释该行来做到这一点,但我想在zc.buildout环境中使用zc.recipe.egg,zc.recipe.cmmi或任何其他可以帮助我的方法来做到这一点。

那么,有没有一种简单的方法来安装 PySQLite 并启用扩展但不篡改setup.cfg

0 投票
1 回答
714 浏览

python - Python:禁用 $HOME/.python-eggs?

有没有一种简单的方法可以禁用 Python 鸡蛋缓存?我们遇到这样的情况,系统帐户需要运行导入模块的 python 程序。

由于这是一个非登录机器人帐户,它没有主目录,并且在尝试创建目录时死了/.python-eggs

解决此问题的最佳方法是什么?我可以将站点文件中的鸡蛋转换为不会缓存的内容.python-eggs吗?

0 投票
2 回答
5046 浏览

python - 在 Python Egg 中访问配置文件时出现问题

我有一个具有以下结构的 Python 项目:

我编写了一个 setup.py 文件,将其转换为具有相同文件结构的鸡蛋。(当我使用 zip 程序检查它时,结构似乎相同。)有趣的是,当我从 IDE 运行 Python 代码时,它工作正常并且可以访问配置文件;但是当我尝试使用egg从不同的Python脚本运行它时,它似乎无法在egg中找到配置文件。如果我将配置文件放入与调用相关的目录中Python 脚本(在 egg 外部),它可以工作——但这​​有点违背了拥有一个独立的 egg 的目的,它具有程序的所有功能并且可以从任何地方调用。只要不使用配置文件,我就可以使用任何类/模块并从 egg 运行任何功能......但如果他们这样做,egg 将找不到它们,因此这些功能不起作用。

任何帮助将非常感激!我们对这里的鸡蛋有点陌生,真的不知道从哪里开始。

0 投票
1 回答
1153 浏览

python - 如何在不重新启动应用程序的情况下轻松安装 egg 插件并加载它?

我正在创建一个下载并安装自己的 egg 插件的应用程序,但是在 easy_install 将其解压缩到位后加载 egg 时出现问题。这就是它现在的工作方式:

  • 应用程序将鸡蛋下载到临时文件夹中
  • 使用 setuptools.command.easy_install.main() 将 egg 安装到 ~/.app/plugins 文件夹(由 dist-packages 上的 pth 指向)
  • 此时,~/.apps/plugins/easy-install.pth 更新为新的 egg 路径

问题是 pth 直到 python 进程重新启动才重新加载,这意味着必须停止并重新启动应用程序(应用程序是一个长时间运行的进程,并且插件安装必须不需要重新启动)。

所以问题是如何以编程方式重新加载pth,以便插件入口点发现适用于新的egg,或者以某种方式让easy_install返回它安装egg的路径,所以我可以手动(使用pkg_resources)加载新插件?

我可以创建一个函数来尝试猜测 easy_install 的路径或自己解析 pth,但如果可能的话,我宁愿不这样做。

Python 2.6,安装工具 0.6c9


感谢Marius Gedminas,我现在所做的基本上是:

0 投票
2 回答
1085 浏览

python - python setup.py bdist_egg 未设置软件包要求

我有一个 Pylons 应用程序,我已准备好首次将其部署到生产环境。它在 setup.py 中列出了一组简单的要求:

当我运行“python setup.py bdist_egg”时,它似乎正确地创建了 egg 文件。但是,当我将 egg 文件复制到我的生产虚拟环境并安装它时,我的依赖项都没有安装。我解压了egg文件,发现里面确实没有requires.txt。当我运行 bdist_egg 时,肯定在 .egg-info 目录中创建了一个 requires.txt。我是否错误地运行了这个命令?

0 投票
6 回答
36694 浏览

python - 如何访问 Python egg 文件中的文件?

这可能是一个奇怪的要求,但这是我遇到的。我用谷歌搜索但一无所获。

我正在编写一个应用程序,该应用程序使用记录在 XML 文件中的大量常量属性/值(它们不会更改为静态文件),在我为它生成一个 egg 文件之前一切正常。

当逻辑到达 XML 访问部分时,我收到这样的投诉:/home/Workspace/my_proj/dist/mps-1.2.0_M2-py2.6.egg/mps/par/client/syntax/syntax.xml

实际上我已经在上面的路径中捆绑了 XML 文件,但似乎 Python 不知道如何访问它。

访问 XML 的代码如下...

任何的想法?