在 Python 中安装 Psyco 时出现奇怪的错误

Posted

技术标签:

【中文标题】在 Python 中安装 Psyco 时出现奇怪的错误【英文标题】:Strange error installing Psyco in Python 【发布时间】:2010-04-27 11:25:18 【问题描述】:

我在一台机器上安装了 psyco 没有问题,但是在另一台机器上安装时我遇到了一个奇怪的错误。 我无法使用 easy_install,因为它给了我一个错误:

C:\Python26\Downloads\psyco-1.6>easy_install psyco
Searching for psyco
Reading http://pypi.python.org/simple/psyco/
Reading http://psyco.sourceforge.net/
Best match: psyco snapshot
Downloading http://wyvern.cs.uni-duesseldorf.de/psyco/psyco-snapshot.tar.gz
error: Can't download http://wyvern.cs.uni-duesseldorf.de/psyco/psyco-snapshot.t
ar.gz: 404 Not Found

所以,我下载了最新版本 1.6 并执行了“python setup.py install”。我已经用过好几次了,没有问题。我收到以下消息:

C:\Python26\Downloads\psyco-1.6>python setup.py install
PROCESSOR = 'i386'
running install
running build
running build_py
running build_ext
building 'psyco._psyco' extension
Traceback (most recent call last):
  File "setup.py", line 180, in <module>
    **kwds )
  File "C:\python26\lib\distutils\core.py", line 152, in setup
    dist.run_commands()
  File "C:\python26\lib\distutils\dist.py", line 975, in run_commands
    self.run_command(cmd)
  File "C:\python26\lib\distutils\dist.py", line 995, in run_command
    cmd_obj.run()
  File "C:\python26\lib\distutils\command\install.py", line 577, in run
    self.run_command('build')
  File "C:\python26\lib\distutils\cmd.py", line 333, in run_command
    self.distribution.run_command(command)
  File "C:\python26\lib\distutils\dist.py", line 995, in run_command
    cmd_obj.run()
  File "C:\python26\lib\distutils\command\build.py", line 134, in run
    self.run_command(cmd_name)
  File "C:\python26\lib\distutils\cmd.py", line 333, in run_command
    self.distribution.run_command(command)
  File "C:\python26\lib\distutils\dist.py", line 995, in run_command
    cmd_obj.run()
  File "C:\python26\lib\distutils\command\build_ext.py", line 340, in run
    self.build_extensions()
  File "C:\python26\lib\distutils\command\build_ext.py", line 449, in build_exte
nsions
    self.build_extension(ext)
  File "C:\python26\lib\distutils\command\build_ext.py", line 499, in build_exte
nsion
    depends=ext.depends)
  File "C:\python26\lib\distutils\msvc9compiler.py", line 449, in compile
    self.initialize()
  File "C:\python26\lib\distutils\msvc9compiler.py", line 359, in initialize
    vc_env = query_vcvarsall(VERSION, plat_spec)
  File "C:\python26\lib\distutils\msvc9compiler.py", line 275, in query_vcvarsal
l
    raise ValueError(str(list(result.keys())))
ValueError: [u'path']

关于我为什么会收到此错误的任何想法? 谢谢

【问题讨论】:

【参考方案1】:

似乎 psyco 有需要构建的扩展模块。您收到的错误消息不是我所期望的,但它似乎表明它没有找到 Microsoft Visual C++ 编译器,这是为 Python 2.6 构建扩展模块所必需的(至少比其他编译器推荐)。

如果你真的想从源代码构建,我建议你下载 Microsoft Visual C++ 2008 Express Edition 或 Microsoft Visual Studio 2008 试用版。

您最好阅读this thread,并从社区中已经编译过的人那里下载预编译的二进制文件。

编辑:我刚刚注意到Psyco home page 上有一个指向 Python 2.6 pre-compiled binaries by Michael Foord 的链接。这些会更好。

【讨论】:

感谢您的 cmets。我已经安装了 MS Visual 2008,因为我遇到了另一个错误(没有找到 .bat 文件)。不幸的是,预编译版本仅适用于 32 位,而不是 64 位。我会阅读你建议的主题。谢谢 @user210481, 你读过 Psyco 网站的首页吗? “仅供参考,Psyco 根本不适用于任何 64 位系统。”如果你需要它在 64 位系统上工作,那你就倒霉了。【参考方案2】:

我也在尝试解决这个问题(同时尝试安装另一个模块)。问题是脚本 msvc9compiler.py 正在尝试查找,而 vcvarsall.bat 位于 C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC 之类的文件夹下,而在我的情况下,vcvars32.bat 又试图在 C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools 下查找并执行脚本。此脚本正在设置更新某些变量:PATH、LIB 和其他 2 个在您的情况下从未设置/更新的变量。

我的解决方法是手动找到 *.bat 并在提示符中运行它,然后我将运行安装命令。变量以这种方式正确设置,但仅在命令提示符的会话期间。

尝试在运行脚本之前和之后运行echo %LIB%,看看变量确实设置好了。

【讨论】:

以上是关于在 Python 中安装 Psyco 时出现奇怪的错误的主要内容,如果未能解决你的问题,请参考以下文章

在 PyCharm (macOS) 中安装 dlib 时出现问题

Scrapy:在干净的蟒蛇环境中安装时出现问题

使用 GCC 4 在 Mac OS X 中安装 gammu 时出现 LONG_BIT 错误

下面给出了在 python 3.6.6 中安装 dlib 时出现的错误。我在 Windows 10 的 dlib 19.15 文件夹中使用命令“python setup.py install”。

在 ubuntu11.4 中安装 phpmyadmin 时出现访问被拒绝错误

在 Ubuntu 中安装 Torch 时出现 CMake 错误