python - Windows命令行, "python3"指向错误的python3.exe

标签 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 '"'

我不明白为什么python3 Windows 命令行中的 指向 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 输出相同的内容)。

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

最佳答案

您可能需要注意以下几件事:

一般来说,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 安装文件夹是否存在类似问题。

希望有帮助。

关于python - Windows命令行, "python3"指向错误的python3.exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45585779/

相关文章:

environment-variables - super 账本结构 CA : Override Certificate Signing Request (CSR) section by ENV

python - res_similarity() 函数的参数

python - 如何根据最后一行/下一行过滤 Pandas 行?

python - 将非常大的 CSV 数据集加载到 Python 和 R 中,Pandas 挣扎

bash - 如何用空格替换变量的逗号分隔字符串?

shell - 通过获取 shell 脚本在 Qt Creator 中设置环境变量

python - selenium.common.exceptions.SessionNotCreatedException : Message: session not created: This version of ChromeDriver only supports Chrome version 85

windows - ImageMagick:粗体和斜体字体?

c++ - 为以前的 Windows 平台构建我的应用程序

c# - 以编程方式选择用于 DirectX 渲染的最佳显卡