【问题标题】:Mechanize not being installed by easy_install?机械化没有被easy_install安装?
【发布时间】:2009-07-20 00:06:27
【问题描述】:

我正在从旧的 Win2K 机器迁移到新的更强大的 Vista 64 位 PC。大部分迁移都进行得相当顺利 - 但我确实发现我需要重新安装所有与 Python 相关的工具。

我已经下载了 mechanize-0.1.11.tar.gz 文件并运行 easy_install 来安装它。这产生了 C:\Python25\Lib\site-packages\mechanize-0.1.11-py2.5.egg。

然后我运行了一个 python 脚本来测试它,它在解释器下运行良好。但是,当我运行 py2exe 编译脚本时,我收到一条消息,提示找不到 mechanize。

然后我将 egg 移动到一个新文件夹,使用 easy_install 安装它 - 并且得到了它确实安装的所有迹象。

但是,我在尝试使用 py2exe 时仍然收到相同的消息 - 机械化不存在!

我搜索了整个磁盘的“机械化”,结果只得到了 2 个鸡蛋文件。安装应该生成哪些文件 - 我应该将它们放在哪里?

显然,我在这里遗漏了一些东西......有什么建议吗?

另外,也许相关的是,我正在运行的 python 是 32 位 2.5.4 版本...这是我以前拥有的,并且希望在安装 64 位版本之前让一切正常运行 - 另外,我不知道看不到一些似乎支持 64 位版本的工具(easy_install 和 py2exe)。这是问题的一部分吗?我是否需要安装和运行 64 位版本 - 对于那些在运行我的脚本时运行 32 位 PC 的人来说,这会是一个问题吗?

【问题讨论】:

    标签: python mechanize easy-install


    【解决方案1】:

    有一个note on the py2exe site如果源是egg格式就不行:

    py2exe 目前没有(截至 0.6.5) 如果您的程序的某些依赖项在其中,则可以开箱即用 .egg 形式。

    如果您的程序本身不使用 setuptools 工具(例如, pkg_resources),那么您只需要 要做的是确保依赖项是 解压后安装在系统上 形式,而不是压缩的 .egg。

    实现此目的的一种方法是使用 --always-unzip 选项到 easy_install

    您运行的是哪个版本? pypi.python.org 上列出的最新版本是 0.6.9 版,但没有迹象表明我可以找到此版本中是否修复了鸡蛋的问题。

    【讨论】:

    • 我正在使用 setuptools-0.6c9.win32-py2.5.exe 安装程序进行 easy_install。我检查了 py2exe 站点,看到你提到的注释 - 并试图找到一种安装 mechanize 的方法,所以它不是鸡蛋......在峰值页面 peak.telecommunity.com/DevCenter/… 我看到选项列表,试过 -Z ,没有帮助 - 然后注意到它需要遵循“easy_install”的其他地方,而不是文件名......仍然无法工作。我正处于需要摆脱这个问题的地步,让我清醒一下 - 太多似乎不相关的信息......感谢您的帮助......
    • 我应该指出,我认为问题在于 easy_install(不是)安装 mechanize 的方式 - 而不是 py2EXE 实用程序。使用 easy_install 有一些痛苦的明显点,我必须错过。正如我妻子常说的那样,有时需要 2x4 - 有时需要大锤......
    • 我同意——让 easy_install 安装 mechanize,因为 py2exe 需要它:无蛋。我按照描述在 mechanize 上运行了 easy_install,得到了一个没有压缩到 egg 文件中的包。 “easy_install --always-unzip mechanize”成功了。
    • 昨晚我终于让它工作了——它确实使用了 -Z 选项......我最终做的是完全删除 Python——包括 Python25 文件夹......然后我重新使用 Windows 安装程序安装了 Python v2.5.4 和 easy_install。 (我使用了 2.5.4,因为这是我在自己的机器上安装的 - 并且希望在查看更新版本之前让所有东西都正常工作)......接下来是以下内容(按此顺序):easy_install -Z ClientForm easy_install - Z configobj easy_install -Z mechanize 工作就像一个魅力!经过测试,exe 完全符合要求。
    【解决方案2】:

    正如上面其他用户所建议的那样......我在此总结了使 Mechanize 和 BeautifulSoup 与 py2exe 一起工作所需的步骤。

    将 .py 文件转换为 Windows .exe

    按照此处的说明进行操作:py2exe Tutorial

    第 1 步

    从这里下载 py2exe...http://sourceforge.net/projects/py2exe/files/ (我使用的是 Python 2.7)

    我为 Python 2.7 安装了 0.6.9

    py2exe-0.6.9.win32-py2.7.exe (201KB)

    安装它

    第 2 步

    尝试一个 hello world 文件.. 以确保一切正常.. 如

    中所述

    http://www.py2exe.org/index.cgi/Tutorial

    • Python setup.py 安装(网络教程第 2 步)
    • 然后使用 setup.py(网络教程的第 3 步)。

    有关模块的任何问题,请参阅下面的问题(在此文件夹下:C:\Python27\Lib\site-packages)

    第 3 步

    测试dist目录下的可执行文件..

    总而言之,当您遇到模块问题时,请确保访问站点包目录.. 并查看是否有完整的包,而不仅仅是 .egg 文件。 py2exe 不能只使用 .egg 文件(外行的理解)。

    问题:

    py2exe 找不到 Mechanize 模块。这是因为我在本地机器上第一次安装 mechanize 只是一个 .egg 文件(mechanize-0.2.5-py2.7.egg.OLD 324KB)。我需要像这样安装完整的机械化:

    easy_install --always-unzip <library_name>
    

    我这样做了.. 然后这次 mechanize 安装在一个名为 mechanize-0.2.5-py2.7.egg (1.1MB) 的文件夹中。

    还有beautifulsoup-3.2.0-py2.7.egg 原来的.egg 文件是69KB... 安装后用

    easy_install -–always-unzip BeautifulSoup
    

    它安装在一个名为 beautifulsoup-3.2.0-py2.7.egg (229KB) 的文件夹中。

    这里有一些说明:http://www.daniweb.com/software-development/python/threads/204941

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多