Windows命令行,“python3”指向错误的python3.exe

时间:2017-08-09 08:46:07

标签: python windows environment-variables

所以,我的计算机上安装了Anaconda,OSGeo和Python2.7。

我也在使用Spyder。在Spyder:

>>> import sys
>>> sys.executable
'C:\\ProgramData\\Anaconda3\\pythonw.exe'

这就是我想要的。

但是,在windows命令行和powershell中:

$ python3
>>> import sys
>>> sys.executable
'C:\\Progra~1\\OSGeo4W\\bin\\python3.exe'

我想要的是什么。在命令行中使用'C:\\ProgramData\\Anaconda3\\pythonw.exe'时,我想使用python.exe(或python3,不确定)。

另外:

$ pip3
Fatal error in launcher: Unable to create process using '"'

我不明白为什么Windows命令行中的python3指向OSGeo的Python3版本。这是我的path

C:\Python27\;C:\Python27\Scripts;C:\ProgramData\Anaconda3;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Git\cmd;C:\Program Files\PuTTY\;C:\Progra~1\OSGeo4W\bin\;C:\Program Files\Microsoft\R Open\R-3.4.0\bin

我还有一个名为PYTHONHOME

的环境变量
C:\ProgramData\Anaconda3

此外(为了完整的信息),我安装了python 2:

$ python
  File "C:\ProgramData\Anaconda3\lib\site.py", line 177
    file=sys.stderr)
        ^
SyntaxError: invalid syntax

$ pip输出相同的东西)。

在windows命令行中使用python3python(分别)时,python3和python2.7都可以使用,这将是一个很好的奖励,但这并不是我的首要任务。

1 个答案:

答案 0 :(得分:1)

你可能需要照顾好几件事:

通常,Windows PATH的搜索顺序是从系统PATH开始从左到右。第一个匹配元素获胜。在您的情况下,这是正确的,因为系统将首先搜索C:\ProgramData\Anaconda3\。但是在该文件夹中没有默认的python3可执行文件。在我的系统上,我创建了一个指向python.exe的simlink。在您的系统上,您可以在PowerShell中执行此操作:

New-Item -Path C:\ProgramData\Anaconda3\python3.exe -ItemType SymbolicLink -Value C:\ProgramData\Anaconda3\python.exe

pip位于Scripts \文件夹中,因此在您的情况下,您必须将C:\ProgramData\Anaconda3\Scripts添加到PATH并再次创建相应的simlink。在这种情况下,您必须创建其中两个,因为pip.exe将其名称附加到尝试调用的脚本(即,如果您的exe文件被调用foo.exe,它将尝试调用foo-script.exe这不存在)您可以使用这两个命令在PowerShell中创建simlink:

New-Item -Path C:\ProgramData\Anaconda3\Scripts\pip3.exe -ItemType SymbolicLink -Value C:\ProgramData\Anaconda3\Scripts\pip.exe

New-Item -Path C:\ProgramData\Anaconda3\Scripts\pip3-script.py -ItemType SymbolicLink -Value C:\ProgramData\Anaconda3\Scripts\pip-script.py

像这样,您可以使用cmd行中的python3pip3。请检查python2安装文件夹的类似问题。

希望它有所帮助。