背景
Windows 默认情况下不包含编译器,安装编译器(或许还需要配置 Python 来使用它)是一项足够复杂的任务,许多开发人员都避免这样做。为此,许多具有二进制依赖项的包可以作为包含二进制文件的预编译 Windows 可执行文件提供。举个例子,有psycopg http://stickpeople.com/projects/python/win-psycopg/.
可执行文件是一个安装程序。执行时,它提供一个图形界面,通过注册表查找已安装的 Python 版本,并在全局 Python 安装中安装 Python 库和包含的二进制依赖项。
然而,这并不总是可取的。特别是在使用 virtualenv 时,开发人员不想全局安装该库。他们希望将库安装在虚拟环境中。由于此环境未在注册表中表示,因此图形安装程序无法找到它。幸运的是,可以使用类似于以下内容的命令将库安装到虚拟环境中:
C:\> C:\virtualenv\Scripts\activate.bat
(virtualenv) C:\> easy_install psycopg2-2.5.win32-py2.7-pg9.2.4-release.exe
请注意,无论 easy_install 是来自 setuptools 还是分发,这都有效。
实际问题
为什么这个命令有效?允许 easy_install 处理它的 exe 是什么?
我注意到该 exe 似乎是某种 zip 文件。 7-Zip能够打开它进行浏览,并且easy_install可以处理的这些exe文件似乎具有共同的文件结构。他们有一个名为 PLATLIB 的顶级目录,其中包含 Egg-info 文件或文件夹以及另一个(可能超过 1?)文件夹。这些exe只是Python鸡蛋,周围包裹着某种可执行文件吗?我怎样才能自己制作一个? (或者换句话说,是否有某种标准方法可以产生这样的前任?)
Edit
额外问题:为什么doesn'tpip 可以处理这些文件吗?
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)