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