【问题标题】:Can't start PyPy Windows: Library path not found无法启动 PyPy Windows:找不到库路径
【发布时间】:2023-04-02 16:11:01
【问题描述】:

我在 64 位 Windows 8 上安装了 PyPy v1.9。我将包含 pypy.exe 二进制文件的文件夹添加到我的路径 (C:\Users\me\Documents\pypy-1.9),但是当我尝试运行 PyPy 时,我收到以下错误消息:

debug: WARNING: Library path not found, using compiled-in sys.path

调试:警告:不会设置“sys.prefix”。

调试:警告:确保 pypy 二进制文件保存在其文件树中。

调试:警告:可以从其他地方创建指向它的符号链接。

“导入网站”失败

Python 2.7.2(341e1e3821ff,2012 年 6 月 7 日,15:43:00)

[PyPy 1.9.0 with MSC v.1500 32 bit] on win32

输入“帮助”、“版权”、“信用”或“许可”以获取信息。

调试:操作错误:调试:

操作错误类型:导入错误

调试:操作错误值:没有名为 _pypy_interact 的模块

这只发生在尝试在 PyPy 所在目录之外运行时。如果我直接运行 exe,命令提示符将打开并正确运行。

【问题讨论】:

    标签: pypy


    【解决方案1】:

    我仍然不确定为什么会发生这种情况,但我确实找到了某种解决方案。我花了一点时间在通常保存 pypy.exe 的文件夹中创建了一个与 pypy 可执行文件(pypy.bat)同名的非常简单的批处理文件,并将 pypy.exe 重命名为 pypy_binary.exe(或其他任何东西,它其实没关系)。最重要的是,我提出了一个稍微笨拙的解决方法来将目录设置为我正在运行的文件所在的位置:将其作为参数传递给脚本。然后我检查一个参数,并切换到提供的目录 (os.chdir(sys.argv[1]))。

    以下是可能遇到此问题的任何其他人的批处理文件:

    @echo off
    set LAST=%CD%
    pushd %~dp0
    echo %LAST% > last.tmp
    if "%1" == "" goto noargs
    
    start /B /WAIT pypy_binary.exe "%LAST%\%1" "%LAST%"
    goto finish
    
    :noargs
    start /B /WAIT pypy_binary.exe
    
    :finish
    popd
    

    附带说明:如果您使用 pypy 运行使用 pyglet 的程序,则需要编辑 'pyglet/libs/win32/__init__.py' 第 192 到 196 行(大约)。在 pypy 下,元组没有 __itemsize___ 属性,因此您需要输入 try/except,或者直接设置 '_user32.SetClassLongPtrW = _user32.SetClassLongW' 而无需 if/否则。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多