首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >'NameError:在windows上使用urwid时未定义名称'fcntl‘

'NameError:在windows上使用urwid时未定义名称'fcntl‘
EN

Stack Overflow用户
提问于 2019-01-25 07:47:41
回答 2查看 3.9K关注 0票数 4

因此,我刚刚安装了Urwid,并作为测试尝试运行相当于基本打印命令的Urwid,如Urwid网站教程中的示例所示。我收到一条错误消息。

我尝试运行其中一个不同的示例,并收到类似的错误消息。代码如下所示:

代码语言:javascript
运行
复制
import urwid

txt = urwid.Text(u"Hello World")
fill = urwid.Filler(txt, 'top')
loop = urwid.MainLoop(fill)
loop.run()

它应该在屏幕的左上角打印'Hello World‘,然后运行,直到被指示退出。相反,我得到了这个错误消息:

代码语言:javascript
运行
复制
Traceback (most recent call last):
  File "C:\Users\Rory Kranz\AppData\Local\atom\app-1.34.0\testingg", line 5, in <module>
    loop = urwid.MainLoop(fill)
  File "C:\Users\Rory Kranz\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urwid\main_loop.py", line 114, in __init__
    screen = raw_display.Screen()
  File "C:\Users\Rory Kranz\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urwid\raw_display.py", line 92, in __init__
    fcntl.fcntl(self._resize_pipe_rd, fcntl.F_SETFL, os.O_NONBLOCK)
NameError: name 'fcntl' is not defined

是安装出了什么问题,还是需要安装其他东西才能让Urwid正常工作?

EN

Stack Overflow用户

发布于 2019-01-25 10:01:51

如果你想使用urwid,你需要将它与cygwin一起使用(不确定mingw是否支持它,但如果这是你的偏好,可能值得一试)。

win32本身并不支持fcntl接口,显然,使用Windows函数模拟它也不是一件容易的事。

如果您想继续使用windows而不使用unix仿真环境,您可以尝试使用cursespython prompt toolkit。我不确定这些是不是最好的选择,因为我不清楚你到底想做什么。

一些相关链接

Problem over windows platform

NameError: name 'fcntl' is not defined

票数 3
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54357073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档