我已经阅读了一些关于.egg文件的内容,我已经在我的lib目录中注意到了它们,但是当时作为开发人员使用它的优点/缺点是什么?
我使用easy_install安装了几个Python模块.我该如何卸载它们?
我看不到列出的卸载选项easy_install --help.
我维护了一些Python包.我有一个非常相似的setup.py文件.但是,在做的时候setup.py install,我的一个软件包被安装为一个鸡蛋,而其他软件包被安装为"鸡蛋文件夹",即扩展名为"egg"的文件夹.
它们之间有什么区别导致这种不同的行为?
我正在寻找带有psycopg2二进制文件的二进制蛋用于Windows,但找不到任何.
在http://initd.org/psycopg/download/上有唯一的源包和链接到Psycopg的Windows端口,它提供二进制安装程序,但没有二进制蛋.
我正在寻找二元蛋的原因是我想在virtualenv中安装psycopg并且它不是(这个答案描述了为什么它通常是可能的),标准的Windows安装程序可以在注册表中查找已安装的Python.
旁注:我猜psycopg是一个相当受欢迎的库,它让我觉得奇怪的是不能在项目页面上提供二进制蛋.我在这里错过了什么吗?
使用使用setuptools的setup.py打包Python包时:
from setuptools import setup
...
Run Code Online (Sandbox Code Playgroud)
源分发创建者:
python setup.py sdist
Run Code Online (Sandbox Code Playgroud)
像往常一样,不仅包括MANIFEST.in中指定的文件,而且它也包括Subversion在包目录下列出的所有文件控制版本.这非常烦人.它不仅难以对我的包中分发的文件进行任何形式的显式控制,而且意味着当我按照"svn export"而不是"svn checkout"构建我的包时,我的内容包可能会有很大的不同,因为没有.svn元数据setuptools会对要包含的内容做出不同的选择.
我的问题:如何关闭这种可怕的行为,以便"setuptools"以同样的方式处理我的项目,无论我使用的是Subversion,还是从未听说过的版本控制,或者是使用"svn export"创建的裸树在我的项目结束时创建,以确保它在我的工作目录之外的某个地方干净地构建?
到目前为止我管理的最好的是一个丑陋的猴子补丁:
from setuptools.command import sdist
del sdist.finders[:]
Run Code Online (Sandbox Code Playgroud)
但这是Python,而不是丛林,所以当然我想要一个更好的解决方案,根本不涉及猴子.我如何通过查看MANIFEST.py中可见的,可预测的规则来驯服setuptools,关闭它的魔力并让它表现得明智?
我知道我可以安装使用
$ pip install -e git+https://git.repo/some_pkg#egg=SomePackage
Run Code Online (Sandbox Code Playgroud)
但是 - 当我试图使用别人的包装时 - 我如何确定鸡蛋的名称是什么?
这可能是一个奇怪的要求,但这是我遇到的.我用Google搜索但没有产生任何结果.
我正在编写一个使用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的代码是......
file_handler = open(path_to_the_file)
lines = file_handler.read().splitlines()
Run Code Online (Sandbox Code Playgroud)
任何的想法?
有没有办法配置easy_install以避免在安装失败时再次下载文件?
查看我的/usr/local/lib/python.../dist-package目录,我有.egg目录和.egg文件.
为什么安装程序会选择将额外的软件包添加到.egg目录中,而是将其他文件保留为.egg扩展名?
egg ×10
python ×10
packaging ×3
easy-install ×2
setuptools ×2
binary ×1
deployment ×1
distribute ×1
pip ×1
psycopg2 ×1
python-wheel ×1
windows ×1
zip ×1