【问题标题】:Is it possible to import CPython variables without PyPy module conflicts是否可以在没有 PyPy 模块冲突的情况下导入 CPython 变量
【发布时间】:2021-06-13 02:03:04
【问题描述】:

我有一个使用 CPython 的脚本,并且有 pywin32 模块 win32gui 和 win32con。我有一个变量,我想从这个脚本导入到不同的 PyPy 脚本中以使用它的值。

看起来像这样:

from functions import var1

但是,当我尝试运行此代码时,我得到了错误

Traceback (most recent call last):
  File "d:/folder/functions.py", line 5, in <module>
    import win32gui, win32con
ModuleNotFoundError: No module named 'win32gui'

我需要的只是变量的值,它是一个整数,以任何可能的方式。我想我也许可以创建一个函数来包装变量的值并以这种方式将其发送到脚本,但我认为这可能效率低下。

有没有办法避免在为不同的脚本使用不同的解释器时出现这样的模块冲突?

【问题讨论】:

    标签: python-3.x pywin32 pypy


    【解决方案1】:

    你可以这样做

    try:
        import win32gui, win32con
    except ImportError:
        win32gui = None
        wn32con = None 
    

    然后在您的代码中,在您使用这些导入的地方,首先检查它们是否为 None。

    【讨论】:

    • 这是一种有趣的修复方法,唯一的问题是我从中导入变量的模块需要导入才能正常工作,而我正在尝试导入变量的值跑步。我唯一能想到的就是让原始脚本将值写入文本文件并让另一个脚本读取它。但我不知道这是否可行
    • 另一种选择是让 pywin32 在 PyPy 上工作,看到这个问题github.com/mhammond/pywin32/issues/1289,也许你可以帮助它工作
    猜你喜欢
    • 2018-09-21
    • 2012-02-19
    • 2013-08-21
    • 1970-01-01
    • 2018-11-10
    • 1970-01-01
    • 1970-01-01
    • 2021-11-22
    • 2019-03-11
    相关资源
    最近更新 更多