【问题标题】:Pycharm: DLL load failed: The specified procedure could not be foundPycharm:DLL加载失败:找不到指定的程序
【发布时间】:2020-10-02 10:31:24
【问题描述】:

我正在 Windows 10 上的 Pycharm (2020.1.2) 中开发 Python 项目。

对于这个项目,我不能使用标准的 Python 解释器,我必须使用我自己位于 C:\some\path\here\python\27_64\python.exe (Python 2.7.3) 的解释器。

背景故事可能很重要:

我已将此路径添加到我自己和所有用户的系统路径中,并将其放在 %LOCALAPPDATA%\Microsoft\WindowsApps 之前,以防止每当我尝试在命令行上运行 python 时弹出 Microsoft 商店 -但是我不觉得对路径变量的这种更改有什么不同,因为 Microsoft 商店仍然会弹出。

可以通过运行 C:\some\path\here\python\27_64\python.exe 来启动 Python shell,所以我知道它在技术上是可行的。当我这样做时; sys.path 如下:

['', 'C:\\another_place\\Python_2.7.3_x64\\python27.zip',
'C:\\some\\path\\here\\python\\27_64\\DLLs',
'C:\\some\\path\\here\\python\\27_64\\lib',
'C:\\some\\path\\here\\python\\27_64\\lib\\plat-win',
'C:\\some\\path\\here\\python\\27_64\\lib\\lib-tk',
'C:\\some\\path\\here\\python\\27_64',
'C:\\some\\path\\here\\python\\27_64\\lib\\site-packages']

无论如何,当我尝试运行 Python 控制台(甚至不是我的脚本)时,这是我在 Pycharm 中得到的消息:

C:\some\path\here\python\27_64\python.exe "C:\Program Files\JetBrains\PyCharm 2020.1.1\plugins\python\helpers\pydev\pydevconsole.py" --mode=client --port=59771
Traceback (most recent call last):
  File "C:\Program Files\JetBrains\PyCharm 2020.1.1\plugins\python\helpers\pydev\pydevconsole.py", line 5, in <module>
    from _pydev_comm.pydev_rpc import make_rpc_client, start_rpc_server, start_rpc_server_and_make_client
  File "C:\Program Files\JetBrains\PyCharm 2020.1.1\plugins\python\helpers\pydev\_pydev_comm\pydev_rpc.py", line 1, in <module>
    import socket
  File "C:\some\path\here\python\27_64\lib\socket.py", line 47, in <module>
    import _socket
ImportError: DLL load failed: The specified procedure could not be found.
Process finished with exit code 1

我已经转到Settings>Project:[name]>Project Interpreter 并将其设置为C:\some\path\here\python\27_64\python.exe(并确保重新启动 Pycharm)。那就是说;在设置窗口中没有显示包,它声称找不到 Python 打包工具。 当我点击安装它们的链接(红色圈出)时,由于此错误,它们无法安装:

ImportError: cannot import name _remove_dead_weakref

我是否需要更改其他变量或设置?

谢谢

编辑

卸载我路径上的第一个 Python (C:\\another_place\\Python_2.7.3_x64\\python27.zip) 只会让一切变得更糟

编辑 2 我手动将 PATH 变量添加到 Python 控制台设置和 PyCharm 中的运行/调试设置(并重新启动程序),结果仍然相同

【问题讨论】:

  • 运行自定义 Python 时,sys.path 的内容是什么?我怀疑它在您系统的其他地方引用了标准 Python 安装,其中可能包含您的 Python 需要的文件的不兼容版本(在这种情况下,特别是 _socket.pyd 最有可能)。
  • @jasonharper 我将sys.path 输出添加到我的问题中

标签: python pycharm python-2.x


【解决方案1】:

我遇到了类似的问题。这个过程解决了我的问题。 请尝试以下操作:

  • 使用同一个解释器在系统终端运行print(os.environ['PATH'])

  • 复制结果并作为 PATH 环境变量添加到您的运行/调试配置中

  • 对 Python 控制台设置执行相同操作

我希望它会起作用。

【讨论】:

  • 据说它导入了系统变量,但只是为了确保我按照你的说明进行操作,但这并没有什么影响
【解决方案2】:

Windows 似乎无法识别解释器,因此您无法安装软件包。 另外,我想解释器应该出现在你的 python 文件夹的 bin 文件夹中。解释器没有 .exe 扩展名。

我建议安装 anaconda python 2.7 64 位 windows 包安装程序并使用 condo 环境并在 python 2.7 上工作

这是我在 Windows 上为 Python 2.7 找到的链接,希望对您有所帮助: https://docs.python.org/2/faq/windows.html

【讨论】:

  • 没错,就是无法识别。但在 Python for Windows 中,no bin 文件夹和解释器 具有 .exe 扩展名。
【解决方案3】:

有类似的问题,在我的情况下,它总是试图在 PostgreSQL 安装目录中查找库。

提到sys.path 对我有帮助!我尝试从我的脚本中打印它,发现 PostgreSQL 目录出现在列表中比 Python 目录更早。

所以,我最终是如何修复它的——像这样将 PYTHONPATH 环境变量添加到 PyCharm 中的运行配置中(替换为 Python 安装目录的路径): PYTHONPATH=D:\PROGRAMS\Python\Python3.9\DLLs\;D:\PROGRAMS\Python\Python3.9\lib\;D:\PROGRAMS\Python\Python3.9\;D:\PROGRAMS\Python\Python3.9\lib\site-packages

这有助于将所需的目录放在列表的开头,因此首先搜索它们并找到所需的库,因为它应该可以工作。

【讨论】:

    猜你喜欢
    • 2017-09-02
    • 2020-10-13
    • 2020-08-05
    • 2019-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-16
    • 1970-01-01
    相关资源
    最近更新 更多