标签: egg

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

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

编辑:

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

python egg distribution

6
推荐指数
2
解决办法
602
查看次数

如何easy_install egg插件并加载它而无需重新启动应用程序?

我正在创建一个下载并安装自己的egg插件的应用程序,但是在easy_install将其提取到位后,我在加载鸡蛋时遇到问题.这是它现在的工作方式:

  • App将egg下载到temp文件夹中
  • 将setuptools.command.easy_install.main()的egg安装到〜/ .app/plugins文件夹中(由dist-packages上的pth指向)
  • 此时,使用新的egg路径更新〜/ .apps/plugins/easy-install.pth

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

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

我可以创建一个函数,试图猜测easy_install的路径或者自己解析pth,但我不愿意,如果可能的话.

Python 2.6,setuptools 0.6c9


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

dist = pkg_resources.get_distribution(plugin_name)
entry = dist.get_entry_info(entry_point_name, plugin_name)
plugin = entry.load()
Run Code Online (Sandbox Code Playgroud)

python egg setuptools

6
推荐指数
1
解决办法
1070
查看次数

无法安装pip:权限被拒绝错误

我正在尝试安装pip但目前无法安装.我导航到pip文件夹和
easy_install .

一切似乎都很好,直到最后:

easy_install .

我也试过easy_install .并试图引用相关的线程没有运气:线程链接

有任何想法吗?

python egg easy-install pypi

6
推荐指数
1
解决办法
5万
查看次数

可以设置 Launch4J 使其创建的 exe 文件在右键单击/打开时无法通过 zip/egg/rar 文件显示其内容吗?

Launch4J 是一个 jar 到 exe 转换器。我使用 Launch4J 将 jar 转换为 exe,但是当我右键单击 Launch4J 创建的那个 exe 文件时,它会显示当我右键单击该 exe 文件时从中生成的 jar 文件(类等文件)中的内容。有什么方法可以禁用它并禁用在使用 zip/rar/egg/jar 打开时显示其内容?

java zip egg rar launch4j

6
推荐指数
1
解决办法
2166
查看次数

模块在安装模式下找到,但在使用setuptools的开发模式下没有

我是setuptools第一次使用,并尝试打包我的代码,以便其他人可以轻松地开发它.我在虚拟环境中运行一切.

简短的问题:如何在运行时更改egg-link指向的目录python setup.py develop

长问题:我正在开发的模块被称为cops_and_robots.当我跑步时python setup.py install,事情很好,我可以导入我的cops_and_robots模块.但是,当我运行时python setup.py develop,运行import cops_and_robots失败,因为cops_and_robots.egg-link指向错误的目录:

(cops_and_robots)Antares:cops_and_robots nick$ cat ~/virtual_environments/cops_and_robots/lib/python2.7/site-packages/cops-and-robots.egg-link 
/Users/nick/Downloads/cops_and_robots/
.
Run Code Online (Sandbox Code Playgroud)

这是目录结构:

|____Downloads
| |____cops_and_robots # the whole package directory
| | |____...
| | |____requirements.txt
| | |____setup.py
| | |____src
| | | |____cops_and_robots # the python package directory
| | | |______init.py__
| | |____...
Run Code Online (Sandbox Code Playgroud)

我的setup.py:

from setuptools import setup, find_packages
import …
Run Code Online (Sandbox Code Playgroud)

python egg setuptools setup.py

6
推荐指数
1
解决办法
1102
查看次数

在setuptools中修剪和递归排除之间的区别?

我正在使用setuptools打包自定义模块进行部署,该模块不应包含data/用于开发的目录中的某些文件.我已经成功地recursive-exclude data/ *在我的MANIFEST.in文件中排除了必要的文件,但我也看到我可以通过这样做prune data/

这两种方法都可以package.egg-info/SOURCES.txt在打包后从中删除目标文件python setup.py egg_info

这两者有什么区别吗?

egg manifest setuptools setup.py python-2.7

6
推荐指数
1
解决办法
1436
查看次数

无法从错误消息中找到python脚本

我试图跟踪我尝试运行我的代码时得到的python错误消息的来源test.py.

test.py我试图从错误输出中跟踪的模块(由其调用)显然是:

build/bdist.linux-x86_64/egg/george/gp.py
Run Code Online (Sandbox Code Playgroud)

错误消息片段:

File "build/bdist.linux-x86_64/egg/george/gp.py", line 498, in
    predict
Run Code Online (Sandbox Code Playgroud)
  1. 我能找到,build/bdist.linux-x86_64/但它是空的.也许这不是'正确'.
  2. 我也发现了不同的版本gp.py,但是当我对其进行更改时,没有任何反应,因此test.py不会调用该版本.

我想要做的就是找到发生错误的代码,这样我就可以添加更多的输出来弄清楚出了什么问题.


这是错误消息:

Traceback (most recent call last):
  File "test.py", line 213, in <module>
    mumc, dummy = gp1.predict(residuals, dates, kernel = kernelprime )
  File "build/bdist.linux-x86_64/egg/george/gp.py", line 511, in predict
  File "build/bdist.linux-x86_64/egg/george/solvers/basic.py", line 87, in apply_inverse
  File "/home/me/.local/lib/python2.7/site-packages/scipy/linalg/decomp_cholesky.py", line 174, in cho_solve
    b1 = asarray_chkfinite(b)
  File "/home/me/.local/lib/python2.7/site-packages/numpy/lib/function_base.py", line 1219, in asarray_chkfinite
"array must not contain infs or NaNs")
ValueError: array must …
Run Code Online (Sandbox Code Playgroud)

python egg build

6
推荐指数
1
解决办法
451
查看次数

pypi:如何检查包是否使用wheel

我想编写一个脚本来遍历 pypi 存储库上的所有包,以检查它们是否正在使用wheelegg.

我知道根据新标准,所有软件包都必须使用wheel而不是egg. 我在这个网站上找到了这个信息。他们还有使用和不使用wheel. 但是,他们只列出了前几个软件包。但是,我想检查 pypi 上的所有软件包。我知道在 pypi 网站上,他们显示是否可以下载文件类型,例如,表明没有可供下载的wheel文件类型,相反,表明可以下载wheel格式。这样的事情可以帮助我实现我的目标吗?

我当然不希望有人为我编写脚本,但我想知道如何确定包是否正在使用wheel.

python egg pip pypi python-wheel

6
推荐指数
1
解决办法
4067
查看次数

pypi:为什么不是所有的包都使用wheel?

这个pythonwheel网站说,前 360 个软件包中只有 300 个使用wheel. 我进一步分析了Python生态系统,发现前5000个包中大约有2961个包使用了wheel,而其他包则没有。

我的问题是:

  1. 如果他们不使用wheel,他们会使用吗egg
  2. 他们为什么不使用wheel?这只是作者的懒惰还是其他什么原因,阻止他们使用wheel。
  3. 我还从这篇文章中发现wheel停止安装时脚本(如果我错了,请纠正我)。那么,是不是由于某些wheel功能,这些软件包不能使用wheel(因为它们setup.py在安装过程中可能需要文件的某些功能,例如安装时脚本)。

python egg pip pypi python-wheel

6
推荐指数
1
解决办法
1300
查看次数

如何在python egg中更新文件

我们正在使用trac.在我们的设置中,我们遇到了一个在存储库中解决的问题.所以我从存储库中获取了修复文件commit_update.py,我需要将它放入Trac-0.12-py2.6.egg.

由于鸡蛋只是一个ziped的领域我只是解开它,更改文件并再次ziped.重新启动trac后,我收到一条错误消息:

ExtractionError: Can't extract file(s) to egg cache

The following error occurred while trying to extract file(s) to the Python egg 
cache:

    [Errno 20] Not a directory

The Python egg cache directory is currently set to: 

    /var/trac/plugin-cache

Perhaps your account does not have write access to this directory?  You can 
change the cache directory by setting the PYTHON_EGG_CACHE environment
variable to point to an accessible directory.
Run Code Online (Sandbox Code Playgroud)

我不太明白为什么我得到这个错误,因为我在www-data下运行trac实例,它是插件缓存的所有者.

会欣赏任何想法.

python trac egg

5
推荐指数
1
解决办法
1万
查看次数