Linux Terminal./code.py使用Python 2.7.13运行,而IDLE使用Python 3.5.3

Linux Terminal./code.py使用Python 2.7.13运行,而IDLE使用Python 3.5.3,python,linux,terminal,debian-based,Python,Linux,Terminal,Debian Based,使用基于Debian的Linux发行版(Kali)进行Python编程(注意,我对Linux非常陌生,使用不到2个月)。使用apt get install以通常的方式安装Python和GitKraken 开始很高兴地使用3.5.3 IDLE进行编码,但当我尝试使用pip命令安装模块(所有这些都是作为root用户)时,我发现它安装到/usr/local/lib/python2.7/dist包而不是Python 3.5.3位置(/usr/local/lib/python3.5/dist包) 当我使用

使用基于Debian的Linux发行版(Kali)进行Python编程(注意,我对Linux非常陌生,使用不到2个月)。使用
apt get install
以通常的方式安装Python和GitKraken

开始很高兴地使用3.5.3 IDLE进行编码,但当我尝试使用pip命令安装模块(所有这些都是作为root用户)时,我发现它安装到
/usr/local/lib/python2.7/dist包
而不是Python 3.5.3位置(
/usr/local/lib/python3.5/dist包

当我使用
pip安装模块时,它将所有模块安装到2.7位置。因为终端默认使用2.7(无论出于何种原因),所以使用
/code.py
总是使用Python2.7运行代码,但我为Python3.5编写了代码(不是安装模块的版本)

我在这个网站上看到了一些关于类似问题的其他答案,你必须安装新的模块,更改
PYTHONPATH
变量并分配别名,但这会把更多的事情搞糟。现在,
echo$PYTHONPATH
不返回任何内容,pip仍然安装到Python 2.7位置


我使用
apt get
安装python-pip3,并使用pip3命令安装模块,但无论何时使用
/code.py
(我运行代码的主要方法),它仍然使用python 2.7。如何更改此设置?

编辑
code.py
第一行的shebang,指向Python 3.5二进制文件,例如:

#!/usr/bin/env python3

或者如果它没有链接为
python3
找出你的python3.5二进制文件是什么,然后使用它。

如果你有
pip3
,那么试试
python3 code.py
来运行原始的
#/usr/bin/python
,不得不在末尾添加一个3.5版本。现在(有了
pip
python
的别名),一切都运行得很好。答案中使用env更可取,因为它更具可移植性-env的安装位置在unix系统和linux发行版中得到了很好的标准化,而python的位置(以及确切的子版本)则没有
/usr/bin/env python3
/usr/bin/python3.5
更可能在另一个系统上工作。即使另一个系统的路径中有
python3
,它也可能位于
/bin
/usr/local/bin
,也可能是
python3.6
或其他名称,等等。