我想写一个脚本来调用一个Python程序。我已经涉足了bash和fish,但随着脚本逻辑变得更加复杂(使用Git等等),我越来越倾向于使用Python。 (无论是程序和脚本是Python 2.7版在Ubuntu 14.04)如何从Python脚本调用Python + PYTHONPATH + virtualenv?
不过,我有用于调用一些有实力的要求:
- 自定义PYTHONPATH必须设置(每次都相同)
- 一的virtualenv需要(可基于用户输入/逻辑)
- 程序参数是必需的(可基于用户输入/逻辑)
bash的等效是这样的:
~$ pew workon <VIRTUALENV>
~$ export PYTHONPATH=</PROGRAM/PATH>
~$ python -m <MODULE.MODULE> --<ARGUMENT> --<ARGUMENT>=<VALUE>
正如你可以看到我用pew激活我的virtualenv而不是virtualenvwrapper或直接调用激活脚本。但我很高兴使用任何virtualenv库。
或者,这是不可能的? (在这种情况下,我可以编写一个薄壳封装器来设置环境,但是如何使python -m MODULE --ARGUMENT
调用?)
所以,你的问题是,你想从Python脚本调用'python -m MODULE --ARGUMENT'? – jabaldonedo
@jabaldonedo @jabaldonedo理想情况下,选择virtualenv将成为逻辑的一部分,因此是理想的python脚本的一部分 - 我已更新我的问题以使其更清晰 – d3vid
您是否尝试使用子进程从Python中调用这些命令? – jabaldonedo