python - pip install Twister 抛出非常长的错误
问题描述
我正在尝试为使用 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
解决方案
原谅您没有在所有这些杂乱无章中发现实际错误,但就是这样:
src/twisted/internet/iocpreactor/iocpsupport/iocpsupport.c(7614):
error C2039: 'tp_print': is not a member of '_typeobject'
这导致了这个问题,这表明您需要将 Python 从 3.9 降级到 3.8,或者如果 3.9 兼容版本已经发布,则升级 Twisted。
在撰写本文时 (2021-02-13),报告同样错误的票 #10075(尽管是法语)仍然开放,所以我认为最新版本的 Twisted 还不支持 Python 3.9。相应的里程碑也不完整,这个问题是目前唯一未解决的问题。
推荐阅读
- reactjs - React Native - 如何在每个屏幕中保留 TabNavigator
- r - twoord.plot 轴改变
- python - DataFrame.replace 为嵌套字典
- c - 如何检查 scanf 中的变量是否不是数字?
- javascript - 使用 Chrome Ember.js 打开 URL 时无法使 HTML 锚点工作
- output - Snakefile 中没有扩展的硬编码输出
- vb.net - 如何使用普通文本框在 Visual Basic 代码中创建文本编辑器?
- javascript - javascript 新手 - 鼠标事件
- javascript - 代码执行速度在时间上越来越慢
- javascript - xdsoft 日期选择器 || 从两个不同的日期选择器中获取价值