【问题标题】:pip install Twister throws really long error [duplicate]pip install Twister 抛出非常长的错误[重复]
【发布时间】:2021-02-13 14:22:28
【问题描述】:

我正在尝试为使用 django 频道的项目在线学习教程。尝试安装 requirements.txt 导致在尝试安装 Twisted==16.4.0 时出错,所以我尝试 pip install Twisted 看看最新版本是否会导致相同的错误。

确实如此。我不确定到底是什么问题,我在尝试为 flask-socketio 项目安装 greenlet 时遇到了一个非常相似的问题,这让我放弃并尝试 django 频道。这很令人沮丧。

我是在虚拟环境中执行此操作的,我认为我的 Visual Studio C++ 内容可能有问题?我真的无法从这个错误中看到任何东西,看看它有多长而且我对此真的很陌生。

这是错误:

    iocpsupport.c
    src/twisted/internet/iocpreactor/iocpsupport/iocpsupport.c(2229): warning C4047: '=': '__pyx_t_11iocpsupport_HANDLE' differs in levels of indirection from 'HANDLE'
    src/twisted/internet/iocpreactor/iocpsupport/iocpsupport.c(2377): warning C4022: 'CreateIoCompletionPort': pointer mismatch for actual parameter 1
    src/twisted/internet/iocpreactor/iocpsupport/iocpsupport.c(2377): warning C4022: 'CreateIoCompletionPort': pointer mismatch for actual parameter 2
    src/twisted/internet/iocpreactor/iocpsupport/iocpsupport.c(2377): warning C4047: '=': '__pyx_t_11iocpsupport_HANDLE' differs in levels of indirection from 'HANDLE'
    src/twisted/internet/iocpreactor/iocpsupport/iocpsupport.c(2492): warning C4022: 'GetQueuedCompletionStatus': pointer mismatch for actual parameter 1
    src/twisted/internet/iocpreactor/iocpsupport/iocpsupport.c(2838): warning C4022: 'PostQueuedCompletionStatus': pointer mismatch for actual parameter 1
    src/twisted/internet/iocpreactor/iocpsupport/iocpsupport.c(2949): warning C4022: 'CloseHandle': pointer mismatch for actual parameter 1
    src/twisted/internet/iocpreactor/iocpsupport/iocpsupport.c(3292): warning C4996: 'PyObject_AsReadBuffer': deprecated in 3.0
    src/twisted/internet/iocpreactor/iocpsupport/iocpsupport.c(4932): warning C4996: 'PyObject_AsWriteBuffer': deprecated in 3.0
    src/twisted/internet/iocpreactor/iocpsupport/iocpsupport.c(5149): warning C4996: 'PyObject_AsReadBuffer': deprecated in 3.0
    src/twisted/internet/iocpreactor/iocpsupport/iocpsupport.c(5786): warning C4996: 'PyObject_AsWriteBuffer': deprecated in 3.0
    src/twisted/internet/iocpreactor/iocpsupport/iocpsupport.c(6146): warning C4996: 'PyObject_AsWriteBuffer': deprecated in 3.0
    src/twisted/internet/iocpreactor/iocpsupport/iocpsupport.c(6164): warning C4996: 'PyObject_AsWriteBuffer': deprecated in 3.0
    src/twisted/internet/iocpreactor/iocpsupport/iocpsupport.c(6182): warning C4996: 'PyObject_AsWriteBuffer': deprecated in 3.0
    src/twisted/internet/iocpreactor/iocpsupport/iocpsupport.c(6509): warning C4996: 'PyObject_AsReadBuffer': deprecated in 3.0
    src/twisted/internet/iocpreactor/iocpsupport/iocpsupport.c(7614): error C2039: 'tp_print': is not a member of '_typeobject'
    C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.496.0_x64__qbz5n2kfra8p0\include\cpython/object.h(193): note: see declaration of '_typeobject'
    src/twisted/internet/iocpreactor/iocpsupport/iocpsupport.c(8421): warning C4996: '_PyUnicode_get_wstr_length': deprecated in 3.3
    src/twisted/internet/iocpreactor/iocpsupport/iocpsupport.c(8437): warning C4996: '_PyUnicode_get_wstr_length': deprecated in 3.3
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.28.29333\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2

(完整输出https://pastebin.com/HwmPLVTK

【问题讨论】:

    标签: python twisted


    【解决方案1】:

    很抱歉,您没有在所有这些杂乱无章中发现实际错误,但就是这样:

    src/twisted/internet/iocpreactor/iocpsupport/iocpsupport.c(7614):
        error C2039: 'tp_print': is not a member of '_typeobject'
    

    这会导致this question,这表明您需要将 Python 从 3.9 降级到 3.8,或者如果已发布兼容 3.9 的版本,则升级 Twisted。

    在撰写本文时 (2021-02-13),ticket #10075 报告同样的错误(尽管是法语)仍然开放,所以我认为最新版本的 Twisted 还不支持 Python 3.9。 The corresponding milestone 也不完整,这个问题是目前唯一未解决的问题。

    【讨论】:

    • 是的,我刚刚通过降级到 3.7 修复了它。感谢您的帮助。如果你不介意,你能告诉我是否有任何真正的理由使用新版本的python?我不应该坚持 3.7 吗?
    • 如果您不需要更高版本中提供的任何新功能,则几乎没有理由升级到下一个次要版本。但是,如果它运行的是公共 Web 服务,则明智的做法是跟上补丁级别(3.7.1 等),因为安全更新。
    • 我明白了,非常感谢。感谢您的帮助,我现在可以正常工作了,干杯!
    猜你喜欢
    • 1970-01-01
    • 2022-12-07
    • 1970-01-01
    • 1970-01-01
    • 2018-04-02
    • 1970-01-01
    • 2016-09-19
    • 2021-11-22
    • 2020-10-13
    相关资源
    最近更新 更多