为什么我的Python 2.6自动Unzip Egg不进口?[英] Why doesn't my Python 2.6 auto-unzip egg files on import?

问题描述

我的印象是python应该自动导入 网站包装中的鸡蛋文件.

我的安装似乎不想自动解开鸡蛋.我尝试的是:

(1)我使用Easy_install安装SUDS模块,该模块复制了 鸡蛋归档到现场包装中. Python无法导入它. (导入SUDS)

(2)然后,我将 - always-unzip选项用于easy_install.这次 给我一个目录而不是zip文件. Python仍然无法导入SUDS模块.

(3)我重命名为目录SUDS.仍然找不到它.

(4)最后,我从未拉链的鸡蛋目录中复制了Suds目录 site-packags和python找到了它(那里不足为奇).

对我来说,easy_install不是.这里缺少什么?

rufus

推荐答案

默认情况下(如果您没有指定的多元转换模式),那么easy_install agg将在站点包装中添加easy-install.pth文件的条目.在那里检查是否有提及泡沫鸡蛋.您还可以检查Python导入路径(这是Python将搜索模块的列表):

import sys
print sys.path

您是否在python shell中尝试import suds在您易于安装的suds之前启动? 那将解释您看到的行为. .pth文件仅在python启动中读取,因此sys.path中不会出现egg目录或zip文件.从鸡蛋目录内部复制suds dir,因为site-packages本身已经在sys.path中.因此,请确保安装鸡蛋后重新启动Python.

Python将从Zip Archives中导入,但不会将档案包装成站点包装.也就是说,导入后不会将未拉链的目录留在那里. (我认为它是从就位的zip文件中读取的,而无需在文件系统中提取任何地方.)我已经看到一些问题在某些软件包中不起作用,因为他们试图从文件中的位置读取数据 - 系统),所以我建议您始终像(2)中的(2)一样使用-Always-unzip标志.

您尚未给出使用的命令行.您是否指定了easy_install的-m选项?这将导致卵安装在多转化模式下.默认情况下它不会在sys.path中,您需要在尝试导入之前使用pkg_resources.require函数.

本文地址:https://www.itbaoku.cn/post/2481809.html