繁体   English   中英

在Windows上通过MINGW32在Python中进行系统调用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM