如何使用我自己的命令行名称运行python脚本,例如' myscript'无需做python myscript.py'在终端?
答案 0 :(得分:36)
在脚本顶部添加一个shebang行:
#!/usr/bin/env python
将脚本标记为可执行文件:
chmod +x myscript.py
将包含它的目录添加到PATH
变量中。 (如果你想坚持下去,你必须在家里的.bashrc
或.bash_profile
进行此操作。)
export PATH=/path/to/script:$PATH
答案 1 :(得分:15)
跨平台的最佳方式是创建setup.py
,在其中定义一个入口点并使用pip
进行安装。
假设您有myscript.py
的以下内容:
def run():
print('Hello world')
然后使用以下内容添加setup.py
:
from setuptools import setup
setup(
name='myscript',
version='0.0.1',
entry_points={
'console_scripts': [
'myscript=myscript:run'
]
}
)
入口点格式为terminal_command_name=python_script_name:main_method_name
最后使用以下命令安装。
pip install -e /path/to/script/folder
-e
代表可编辑,这意味着您将能够处理脚本并调用最新版本而无需重新安装
之后,您可以从任何目录运行myscript
。
答案 2 :(得分:3)
我通常在剧本中做:
// ˇ What to click inside body
$('body').on('click', '.uploaded_file_delete', function() {
// Do stuff here...
});
在终端:
#!/usr/bin/python
... code ...
答案 3 :(得分:1)
另一种可能有人感兴趣的相关解决方案。也可以直接将 myscript.py 的内容嵌入到 Linux 上的 .bashrc 文件中(我认为应该也适用于 MacOS)
例如,我在 .bashrc 中定义了以下函数,用于将 Python 泡菜转储到终端,请注意 ${1}
是函数名称后面的第一个参数:
depickle() {
python << EOPYTHON
import pickle
f = open('${1}', 'rb')
while True:
try:
print(pickle.load(f))
except EOFError:
break
EOPYTHON
}
有了这个(并且在重新加载 .bashrc 之后),我现在可以从我计算机上的任何终端或目录运行 depickle a.pickle
。
答案 4 :(得分:1)
我想到的最简单的方法是使用“pyinstaller”。
pip install pyinstaller
pyinstaller maincode.py
希望这个解决方案对您有所帮助。 GL