簡體   English   中英

如何從腳本中給出 python 解釋器命令?

[英]How can you give the python interpreter commands from within a script?

我編寫了一個 bash 腳本來使用echo '...' > setup.py創建一個設置文件,然后在下一行中我使用python setup.py build_ext --inplace執行它。 我用 Python 中文件對象的寫入方法復制了第一部分,我的問題是如何在 Python 腳本中復制第二部分?

您似乎要做的不是給出 Python 解釋器命令,而是實際上從 Python 程序執行中執行 bash/shell 命令。

當您打開終端並運行時:

python setup.py build_ext --inplace

發生的情況是一個新的 Python 進程啟動並執行 setup.py

您的目標是從 Python 腳本中執行相同的操作。 普遍接受的方法是使用subprocess進程模塊: https://docs.python.org/3/library/subprocess.html

就像是

subprocess.run(["python", "setup.py", "build_ext", "--inplace"])

應該管用。 或者,如果您真的知道自己在做什么,並且知道subprocess.run調用的輸入永遠不會暴露給用戶(因此被劫持),您可以改用:

subprocess.run("python setup.py build_ext --inplace", shell=True)

編輯:

或者,如果您想深入了解 Python 您可以 go 查看如何直接從代碼調用 setuptools 的 build_ext 命令。 這是朝着這個方向發展的良好開端。 https://github.com/pypa/setuptools/blob/master/setuptools/command/build_ext.py#L83

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM