问题是在PYTHONPATH中混合了python2和python3环境。您告诉python3,从python2发行版中查找和导入模块非常好。最后会落泪的。在
当您运行Python时,它已经知道了它的标准安装目录。这包括stdlib和您显式安装的任何模块(例如,通过pip)。PYTHONPATH只需要用于您没有安装但只是复制到某个地方的东西。在
PYTHONPATH对于scripts目录或python.exe本身。脚本和.exe需要由操作系统找到,而不是python,因此需要在路径上。在
窗口管理器可以通过将文件扩展名与运行该扩展名的程序相关联来增加复杂性。因此,在Windows中,您必须通过单击桌面来选择python2还是python3脚本是可运行的。Python安装程序通过创建知道调用哪个Python的包装器来尝试变得聪明。在
在windows上安装后,您可能需要将脚本和.exe目录添加到您的路径中。你可以对python2和python3都这样做。。。有点小问题。如果在python2和python3中有类似的命名脚本,路径中的第一个将获胜。在
我认为你可以完全移除PYTHONPATH并确保它们在路径中。我的windows python安装与你的有点不同,所以我无法测试以确保。在C:\Python27
C:\Python27\Scripts
C:\Python36
C:\Python36\Scripts