[英]System Call in Python via MINGW32 on Windows
我試圖找出一種從Windows機器上的python腳本調用wget的方法。 我在計算機上的/ bin下安裝了wget。 無論我如何嘗試,使用subprocess或os模塊進行調用似乎都會引發錯誤。 我假設這與我需要通過minGW路由python系統調用以便識別wget的事實有關。
有人知道如何處理嗎?
謝謝
在“ MinGW”下沒有這樣的東西。 您可能是在MSYS(Windows的Unix仿真環境)下指的。 MSYS使事情看起來像Unix,但是您仍然在Windows下運行所有內容。 特別是MSYS將/bin
映射到安裝MSYS的驅動器和目錄。 如果將MSYS安裝到C:\\MSYS
則您的MSYS /bin
目錄實際上是C:\\MSYS\\bin
。
當將/bin
添加到MSYS PATH
環境變量時,MSYS搜索目錄C:\\MSYS\\bin
。 使用命令SETX
將/bin
添加到Windows PATH
環境中時,Windows將在當前驅動器的\\bin
目錄中查找。
大概您的Python版本是Python的標准Windows端口。 由於它是普通的Windows應用程序,因此不會按照您期望的方式解釋PATH
環境變量。 在路徑中使用/bin
,它將搜索當前驅動器的\\bin
目錄。 由於wget
位於當前目錄的C:\\MSYS\\bin
而不是\\bin
,因此在嘗試從Python運行它時出現錯誤。
請注意,如果您從MSYS Shell運行Windows命令,MSYS將自動將其PATH
轉換為Windows兼容格式,從而將MSYS路徑名更改為Windows路徑名。 這意味着您應該能夠通過從MSYS Shell運行Python來使Python腳本正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.