我真的不知道怎么问这个问题,但是我可以描述我想要实现的目标。我会更新建议的所有修改。
我有一个使用一些命令行参数的python模块。使用该模块需要在python解释器的外部进行一些初始设置。进行安装的python文件运行正常,但问题是我必须仔细研究python安装才能找到该文件的位置,即我必须执行python full-path-to-setup-script.py -a argA -b argB
等。我想调用安装脚本像这样
some-setup-command -a argA -b argB
等
我想实现类似的目标
workon environmnent_name
,如virtualenv模块或
pipenv install
,如pipenv
模块中一样。
我知道以上两个命令都调用某种脚本(无论是bash还是python)。我尝试挖掘virtualenv
和pipenv
的源代码,但没有成功。
如果有人可以向我指出用于编写此类程序的任何必要资源,我将不胜感激。
答案 0 :(得分:3)
如果full-path-to-setup-script.py
是可执行文件,并且具有正确的shebang行
#! /usr/bin/env python
那么您可以
ln -s full-path-to-setup-script.py ~/bin/some-command
考虑到~/bin
存在并且在您的PATH
中,
您将可以调用
some-command -a argA -b argB
答案 1 :(得分:2)
很难理解您要寻找的内容,但是python -m
是我的最佳猜测。
例如,要创建新的Jupyter内核,我们调用
python -m ipykernel arg --option --option
其中arg
是CLI参数,而option
是CLI选项,ipykernel
是接收arg
和option
的模块。 / p>
答案 2 :(得分:1)
可从命令提示符处调用的命令位于系统PATH
变量中的目录之一中。如果您使用的是Windows,则可以通过以下方式查看位置:
echo %PATH%
或者,如果您想要更好的读数:
powershell -c "$env:path -split(';')"
一种解决方案是创建一个文件夹,将其添加到系统的PATH
中,然后创建一个可运行的可调用文件。在此示例中,我们将在您的用户配置文件中创建一个文件夹,将其添加到路径,然后在该文件夹中创建一个可调用文件。
mkdir %USERPROFILE%\path
set PATH=%PATH%%USERPROFILE%\path;
setx PATH %PATH%
在文件夹%USERPROFILE%\path
中,我们创建具有以下内容的批处理文件:
# file name:
# some-command.bat
#
python C:\full\path\to\setup-script.py %*
现在您应该可以拨打电话
some-command -a argA -b argB
批处理文件将使用python脚本调用python并传递您添加的参数。
答案 3 :(得分:1)
看着上面的答案,我看不到有人提到过
您当然可以编译python文件并使用
赋予可执行权限chmod +x filename.py
然后以
运行./filename.py -a argA -b argB ...
此外,您还可以删除扩展.py
(由于它现在是可执行文件),然后仅以
./filename -a argA -b argB ...