我在我的系统中安装了Anaconda 2 & 3
。 Anaconda 2
包含python 2.7
& Anaconda 3
包含python 3.6
。
我需要使用命令提示符&运行我的python代码。我需要使用python 3.6
当我正在运行python --version
时,我正在python 2.7.14
。如何将其更改为python 3.6?
答案 0 :(得分:4)
我希望你知道python可执行文件的路径必须添加到Windows中的PATH环境变量中。如您所见,Python2的路径位于我系统中Python3的路径之上。
cmd如何运行命令?
它在cmd打开的目录中搜索具有相同名称的可执行文件,然后在Windows PATH变量中提供的位置搜索命令,从TOP到BOTTOM。
这意味着,它可以获得Python2的路径,然后才能到达Python3的路径。因此,每次在cmd中键入python
时,它都会运行Python2
Python2和Python3可执行文件在Windows中具有相同的名称,因此它永远不会运行python3。
什么似乎是一个明显的解决方案?
您可能会认为,将Python3可执行文件的python.exe
名称更改为python3.exe
可以解决您的问题。你是部分正确,它会起作用。但是你必须使用python3 file.py
或python3 --version
,我认为这是可以理解的。但是,如果更改原始python可执行文件的名称,pip将不再有效。您将无法再安装外部软件包和模块。
如何解决这个问题?
您可以为名为python3.bat
的Python3可执行文件创建别名
可以直接从cmd调用.exe
和.bat
个文件,而无需使用其扩展名。我们总是写python filename.py
而不是python.exe filename.py
,尽管两者都是正确的。使用.bat
文件也可以这样做
返回第一张图片,注意python3.bat
下面的python.exe
文件。这是我调用python3的方式而不重命名我原来的python可执行文件。
<强> python3.bat 强>
使用记事本或其他内容创建新文件并粘贴此%~dp0python %*
我不完全理解这是如何工作的,除了dp0
基本上从同一目录内运行python并且%*
将所有参数传递给python可执行文件。将此文件放在Python3安装目录中,您的问题有望得到解决。
python3基本上运行你的python3.bat
文件,该文件又从其文件夹运行python.exe
并将参数传递给它。
我希望这能解决你的问题。
答案 1 :(得分:2)
您的路径中也应该有python3
。您可以使用python3
来运行脚本:
python3 <your_script>
但要回答您的问题,您可以使用alias
并将其更新为python
。
$ python --version
Python 2.7.6
$ alias python=python3
$ python --version
Python 3.6.4
答案 2 :(得分:0)
为了使用python 3运行脚本,您可以使用
python3 <path to file>
P.S。:这应该是一个评论,但我没有所需的声誉。 :)
答案 3 :(得分:0)
如果Anaconda 3是系统中唯一的python3解释器,您可以在命令行中运行python3
而不是python
,它应该可以正常工作。
您可以更改PATH
参数,反转两个解释器的位置。
答案 4 :(得分:0)
如果要运行Python 3.6,请执行python3.6
。
否则,请与which python
一起检查实际python可执行文件的符号链接。在我的系统上,它是
/usr/bin/python
当我ls -la /usr/bin/python
时,它会给出
lrwxrwxrwx 42 user user 42 Aug 24 03:45 /usr/bin/python -> python2.7
如果您确实想要这样做,现在可以将旧的符号链接移动到某处:
sudo mv /usr/bin/python /usr/bin/old_python
并创建一个新的符号链接:
sudo ln -s /usr/bin/python3.6 /usr/bin/python
现在你应该得到类似的东西:
$ python --version
Python 3.6.5
我不保证它不会破坏世界上的一切,特别是如果你有一些发行版,它有一个依赖于python
下特定python版本的包管理器。
这似乎在Linux Mint 18上运行良好。
答案 5 :(得分:0)
我做了一个小技巧来解决这个问题。对我来说
C:\ Python27
和
C:\ Python27 \ Scripts
位于PATH环境变量列表的顶部。我只是选择了它们,然后单击下移将其移到列表的末尾。
只需确保您的Python3及其Script文件夹路径在Python2路径上方。
它为我解决了问题。希望它也会对您有帮助。
原因:
cmd如何运行命令?
它将在打开cmd的目录中搜索具有相同名称的可执行文件,然后在Windows PATH变量提供的位置(从顶部到底部)中搜索命令。这意味着,它先到达Python2的路径,然后才能到达Python3的路径。因此,每次在cmd中键入python时,它都会运行Python2。 在Windows中,Python2和Python3可执行文件的名称相同,因此它永远不会运行python3。
原因是从该问题的公认答案中得出的。
答案 6 :(得分:0)
我有两个版本的python,第一个路径是python 2(我仍在使用python 2),但是有些脚本应该使用python 3。这就是我所做的: 我已经创建了一个bat文件。 前任: 打开 Notepad++ 并写入:
@echo off
set PYTHONPATH=
"%~dpn0.py" %*
将其另存为“您的脚本名称.cmd”。 在我的脚本(应该使用 python3)之前,我只是在命令行中运行这个文件,然后运行我的脚本。它正在工作。