Pycharm:DLL加载失败:找不到指定的程序

5

我正在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

我已经进入 设置>项目:[名字]>项目解释器 并将其设置为 C:\some\path\here\python\27_64\python.exe(并重新启动了Pycharm,以确保生效)。但是,在设置窗口中没有显示任何软件包,并且它声称找不到Python打包工具。

Pycharm设置界面的截图,解释器的文件路径为C:\some\path\here\ python\27_64\ python.exe,一个消息表明找不到Python打包工具,链接“安装软件包”用红色圆圈标出

当我点击安装它们的链接(用红色圆圈标出),由于以下错误原因无法安装:

ImportError: cannot import name _remove_dead_weakref

还有其他需要更改的变量或设置吗?

谢谢

编辑

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

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


1
当您运行自定义的Python时,sys.path的内容是什么?我怀疑它包含对系统上其他地方标准Python安装的一些引用,这些引用可能包含您的Python需要的文件的不兼容版本(在这种情况下,最有可能是_socket.pyd)。 - jasonharper
@jasonharper 我在我的问题中添加了 sys.path 的输出。 - Jessica Chambers
3个回答

2
似乎由于Windows无法识别解释器,您无法安装包。 此外,我认为解释器应该位于Python文件夹的bin文件夹中。解释器没有.exe扩展名。
我建议安装Anaconda Python 2.7 64位Windows软件包安装程序,并使用conda环境在Python 2.7上工作。
这是我找到的关于Windows上Python 2.7的链接,希望对您有所帮助: https://docs.python.org/2/faq/windows.html

没错,它只是没有被识别。但在 Windows 版本的 Python 中,没有 bin 文件夹,解释器 .exe 扩展名。 - RAM237

2

我遇到过类似的问题。这个方法解决了我的问题。请尝试以下步骤:

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

  • 将结果复制并添加为 PATH 环境变量到您的 Run/Debug Configuration 中

  • 对于 Python Console 设置也做同样的操作

希望这能解决您的问题。


1
据说它导入了系统变量,但为了确保我按照你的指示进行了操作,但这并没有产生任何影响。 - Jessica Chambers

0

我曾经遇到过类似的问题,我的情况是一直在尝试在PostgreSQL安装目录中查找库。

提到sys.path对我很有帮助!我尝试从脚本内部打印它,并意识到PostgreSQL目录出现在Python目录之前。

因此,我最终是这样解决的——在PyCharm的运行配置中添加PYTHONPATH环境变量,像这样(用您的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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接