我正在用python编写一个非常基本的应用程序(目前它只有一个文件)。我的问题是我如何获得它,所以python脚本能够在没有.py扩展名的/ usr/bin中运行?Python脚本在/ usr/bin
例如,而不是运行
python htswap.py args
从那里目前是,我希望能够到CD到任意目录,并提前做
htswap args
感谢目录
!
我正在用python编写一个非常基本的应用程序(目前它只有一个文件)。我的问题是我如何获得它,所以python脚本能够在没有.py扩展名的/ usr/bin中运行?Python脚本在/ usr/bin
例如,而不是运行
python htswap.py args
从那里目前是,我希望能够到CD到任意目录,并提前做
htswap args
感谢目录
!
通过重命名文件,可以简单地剥离.py
扩展名。然后,你必须把下面一行在你的文件的顶部:
#!/usr/bin/env python
env
是一个小程序,设置,使执行权python
解释环境。
您也可以使你的文件的可执行文件,用命令
chmod a+x htswap
并转存到/usr/local/bin
。这比/usr/bin
更干净,因为该目录的内容通常由操作系统管理。
该文件的第一行应该是
#!/usr/bin/env python
您应该删除.py
扩展,使文件的可执行文件,使用
chmod ugo+x htswap
编辑:正确输出,这样Thomas点脚本应放置在/usr/local/bin
而不是/usr/bin
。请大家回答他的回答(也许是我的代价)。对于这种东西,我们所说的七个赞成票是荒谬的)
没错,就是这样,我早些时候做了这个,由于某种原因,它没有奏效,结果我忘记了!在shebang – 2009-07-22 20:32:40
添加#!/usr/bin/env python
到htswap.py
最顶部,并重新命名htswap.py
到htswap
然后执行命令:chmod +x htswap
使htswap可执行文件。
我在Python的官方教程,http://docs.python.org/tutorial/index.html看,那
#! /usr/bin/env python
使用,就像上面的答案建议。请注意,您还可以使用以下内容
#!/usr/bin/python
这是您将在shell脚本中看到的样式,如bash脚本。例如
#!/bin/bash
看到官方的啧啧具有第一个选项,可能是你最好的选择。代码中的一致性是要努力的!
作为参考,第一个更好,因为它是可移植的。并非每个文件系统都有第二种选择。 – JasTonAChair 2017-02-19 00:48:29
经过很多痛苦和濒死体验后,我建议使用为#!/ usr/bin/env开发的特定python版本python。(例如python2.4)。更好地控制python版本运行可执行文件(至少对于我经历过的情况,YMMV) –
2009-09-21 17:31:50