我们还是以那个翻译程序为例子,上次给各位老铁讲了在windows下的应用程序打包,这一次给各位老铁讲一讲,在linux下为python文件可以自己执行,从而不需要python xxx.py。

很简单,在python源文件最上面添上下面一句话!

#!/usr/bin/python3

/usr/bin/python3,是ubuntu下python3解释器所在的目录,具体可以用which python3查看

然后在执行chmod +x ./xxx.py,为python脚本增加可执行权限

例如我这里

sudo chmod +x ./translate.py

最后运行./translate.py

然后…………报错了

-bash: ./translate.py: /usr/bin/python3^M: 解释器错误: 没有那个文件或目录

为什么?

这个是我在win7下写好的源代码,后来用winscp传到ubuntu上的,所以就造成了一个问题,dos下写的代码,拿到linux下,存在不兼容。

解决办法:

sudo vim translate.py:set ff=unix

然后在执行 ./translate.py

OK,完美运行,但是细细一看,似乎还不完美,因为每次都要切换到文件所在目录才能运行,为了更方使用程序,我们可以将translate.py连接到/usr/bin,或者/usr/local/bin,等等配置了系统环境变量的目录下

sudo ln -s /xxxx/xxxx/xxxx/translate.py /usr/local/bin/dict

/xxxx/xxxx/xxxx/ ,是translate.py所在的绝对路径

/usr/local/bin/dict,dict是translate.py软连接后的重命名

运行效果

OK,以后在我的ubuntu系统里,不就有一个现成的翻译程序了吗?岂不是美滋滋!