我们还是以那个翻译程序为例子,上次给各位老铁讲了在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系统里,不就有一个现成的翻译程序了吗?岂不是美滋滋!