Python CLI“c”Popen语法无效

2024-09-29 21:51:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个程序,需要检查机器是否具有所需的所有Python模块依赖项。此计算机可以是本地计算机或远程计算机。因此,为了概括代码,我正在执行系统命令(这样脚本就可以从任何地方运行,连接到机器并运行命令)

如果python脚本正在本地检查,那么它将运行以下命令

cmd = "python -c \"import myRequiredModule\""
pg = Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True, executable="/path/to/powershell")

但是,输出如下:

  File "<string>", line 1
    import
         ^
SyntaxError: invalid syntax

如果我只是打开PowerShell并运行它,它似乎可以正常工作。为什么会失败?你知道吗


Tags: 模块代码import命令程序脚本cmd机器
1条回答
网友
1楼 · 发布于 2024-09-29 21:51:46

您有几种选择:

您可以使用需求文件并告诉PIP安装缺少的内容:

python -m pip install -r requirements.txt

您可以编写一个Python程序来打印缺少的模块:

from pkgutil import iter_modules
modules = set(x[1] for x in iter_modules())

with open('requirements.txt', 'rb') as f:
    for line in f:
        requirement = line.rstrip()
        if not requirement in modules:
            print requirement

或者您可以编写一个Python程序,尝试自行安装缺少的模块:

import pip

def import_or_install(package_name):
    try:
        __import__(package_name)
    except ImportError:
        pip.main(['install', package_name])

相关问题 更多 >

    热门问题