![](/img/trans.png)
[英]How do I call a python script that works using command line inside my python file?
[英]How do I call a python script on the command line like I would call a common shell command, such as cp?
假设我有一个可以运行的脚本:
python hello_world.py
>>> "Hello, world!"
如何将hello_world.py配置为不带 'python'
或'./'
可执行文件:
hello_world
>>> "Hello, word!"
编辑:谢谢大家的建议! shebang和path解决方案以及python包解决方案都可以使用。 我检查了python软件包解决方案,因为我喜欢通过pip install -e .
将脚本附加到路径上的附加功能pip install -e .
无需手动编辑路径变量并在pip freeze > requirement.txt
调用期间捕获脚本。
如果您使用的是Linux或Unix,则在文件顶部,通常是类似
#!/bin/python
要么
#!/usr/bin/python
您还需要执行权限以这种方式运行文件。 使用chmod
chmod +x hello_world.py
如果您不是以root身份运行,则可能需要sudo,这可能是
sudo chmod +x hello_world.py
然后尝试与
./hello_world.py
如果您不必使用./:
alias ./hello_world.py=hello_world
一种解决方法是使用别名,即alias hello_world='python hello_world.py'
当然,这只会在hello_world.py所在的文件夹中起作用,但是alias hello_world='python full/path/to/hello_world.py'
将在任何地方起作用。
这仅对您的bash会话有效,但是将alias命令添加到〜/ .bashrc中将使其永久化。
您可以执行以下操作:
hello_world.py
只是hello_world
在脚本的开头,添加
#!/usr/bin/env python
然后
chmod +x hello_world
注意:如果要在Ubuntu中创建〜/ bin目录,请注销并再次登录 (以运行〜/ .profile文件)。 默认的〜/ .profile将自动将〜/ bin目录添加到您的路径。
它仅需要可读才能使“ python hello_world.py”正常工作。 您可以chmod + x hello_world.py使其可执行。 附加“。” 如果需要“ ./”,则将其添加到PATH环境变量
另一种方法是使用setup.py安装脚本并配置这样的入口点。
entry_points = {'console_scripts':['hello_world = hello_world:main']},
几个小时前,我才第一次这样做。 您可以做的是将python脚本转换为“程序包”,然后安装该程序包。
我遵循了本教程 ,它对我有用。 如果遵循它,您将能够在cmd行上键入“ runner”,并且脚本将运行。
您可以在PATH中创建python
脚本(或将其添加到自己的PATH中)。
我假设您没有$HOME/bin
,如果您跳过此操作,
mkdir $HOME/bin
接下来,创建$HOME/bin/hello_world
#!/usr/bin/env python
print "Hello, World!"
然后,
chmod +x $HOME/bin/hello_world
export PATH=$PATH:$HOME/bin
那么你也能,
$ hello_world
Hello, World!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.