【发布时间】: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