【问题标题】:client side how to use python script, installing package客户端如何使用python脚本,安装包
【发布时间】:2022-10-17 05:38:53
【问题描述】:

我在 python 脚本中添加了一些代码 sn-ps 并将他发送给客户端。有新库,对方要安装也包吗? pip install pywin32

我添加到脚本的代码是;

import win32com.client
xl = win32com.client.Dispatch("Excel.Application")  #instantiate excel app

wb = xl.Workbooks.Open(r'C:\Users\jay\Desktop\PythonInOffice\python_run_macro\macro.xlsm')
xl.Application.Run('macro.xlsm!Module1.macro1("Jay")')
wb.Save()
xl.Application.Quit()

从答案': 如果我编写下面的代码,我还需要单独安装 sys 和 subprocess 吗?

import subprocess
import sys

def install('pywin32'):
    subprocess.check_call([sys.executable, "-m", "pip", "install", 'pywin32'])

【问题讨论】:

  • 是的,大多数情况下都是这样,除非他出于某种原因已经安装了它...
  • 在为客户端运行脚本之前没有任何方法可以安装它吗?
  • 如果系统上不存在安装它,您显然可以使用 python 在子进程中运行 pip install 。
  • this answer should answer your question,你只需要抓住module not found error
  • subprocess 和 sys 是python内置模块,python自带的,不需要安装

标签: python module pip package pywin32


【解决方案1】:

希望下面的代码有帮助

通常检查是否存在包,如果没有安装它

import sys
import subprocess
import pkg_resources

required = {'pywin32'}
installed = {pkg.key for pkg in pkg_resources.working_set}
missing = required - installed

if missing:
    python = sys.executable
    subprocess.check_call([python, '-m', 'pip', 'install', *missing], stdout=subprocess.DEVNULL)

注意:- 如果使用代理,它将不起作用。在 check_call 上输入要安装的代理详细信息

【讨论】:

  • 如果您可以更详细地描述每个步骤,那将非常有用。
  • 我编辑了代码,请您查看@Ahmed AEK
猜你喜欢
  • 1970-01-01
  • 2021-08-31
  • 1970-01-01
  • 2013-01-18
  • 2010-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-09
相关资源
最近更新 更多