如何让我的计算机识别以python3编写的代码?

时间:2019-05-14 02:37:40

标签: python-3.x

我是编码的新手,我正在编写简单的短脚本来学习和练习。我正在看一本教科书,并且进入了有关输入的章节。即使按照字符的代码字符,它也不会编译。最终,我发现我正在使用python3语法,而计算机似乎期望使用python2。

如何让我的计算机识别python3语法?

代码是原子编写的,因此起初我四处寻找一个可能会妥善处理的软件包。然后一个朋友走了过来,我们花了大约两个小时将头撞了进去。最后,他设置了一个叫做IDLE的东西,它产生了一个python3.6.7 shell,它确实运行了代码,所以我知道它的可能。我也看过其他论坛,似乎很合适的一种解决方案是在bash中设置别名。但是,当我尝试从主目录访问bash文件时,它拒绝了我的访问。另外,我有点害怕这样做,因为我看到另一个新手发来的帖子,说他搞砸了自己的bash,现在他无法登录自己的设备。简而言之,可能有一个简单的解决方案,但是我太新了,没听说过。

顺便说一句,我正在将Ubuntu 18.04作为操作系统运行

代码如下:

message = input('a')

print(message)

这就是整个脚本。两行。它应该只在控制台上打印“ a”,接受我键入的任何内容,然后将其打印回控制台。相反,它会产生此错误:

aWhatever
Traceback (most recent call last):
    File "/home/username/Desktop/Coding Projects/Python-Projects/Python-Projects/inputs_and_while_loops.py" line 1, in <module>
       message = input('a')
    File "<string>", line 1, in <module>
NameError: name 'Whatever' is not defined 

=================================================
(The program excited with code: 1)
Press any key to continue... 

同样,代码是用python3语法编写的,而这似乎是在期待python2语法(当我将其更改为它时,它将起作用)

我知道您经验丰富的开发人员可能会对这个问题有多简单感到笑,但是如果您有时间,请帮助年轻的编码人员。另外请记住,我对编程和使用ubuntu基本上一无所知,因此,如果您有答案,请尽可能详细地解释所有内容。从字面上正确使用该词。我这样做是为了学习。

感谢您花一点时间阅读这篇文章!

编辑:为清楚起见,我正在Atom IDE中编写此代码。用户paul41提供了一种有效的方法(感谢paul),方法是将脚本cd进入脚本所在的目录,并在文件上使用python3命令。尽管确实可以编译它,但是它有点笨拙,我正在寻找一种方法来从Atom进行编译。我当前用于运行代码的软件包是python-run-terminalnx。这是指向页面的链接:https://atom.io/packages/python-run-terminalnx 由于此软件包打开了一个终端窗口来运行代码,因此我认为我的PATH中有一些设置(我仍然不太了解如何使用),可以通过命令对其进行更改以使其使用python3在默认情况下编译python脚本时,使用python2语法代替python2语法。抱歉,我应该更清楚

2 个答案:

答案 0 :(得分:0)

您可以通过以下方式进行操作:

  1. 如果您知道python3的路径,则可以执行以下命令。 python3 <path to the scipt>。要检查python3的安装位置,请使用which python3
  2. 或尝试使用这种方式。定义一个shebang,该shebang指出要用来执行此脚本的重制字母的路径,如下所示:
#!/usr/bin/env python3 . # in my case this was the location of python3
message = input('a')
print(message)

执行此命令以使脚本可执行后:

chmod +x <path to the scipt>

最后,运行以下命令:

go to the directory where the script is residing
./<path to the scipt>

有关shebang的更多详细信息,请参见以下链接:Should I put #! (shebang) in Python scripts, and what form should it take?

答案 1 :(得分:0)

Ubuntu同时安装了Python 2和Python 3。使用python my_program.py运行程序使用Python2。要使用Python 3,运行python3 my_program.py