首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导入pwn会在PyCharm中崩溃,但在从终端运行时可以工作

导入pwn会在PyCharm中崩溃,但在从终端运行时可以工作
EN

Stack Overflow用户
提问于 2020-07-22 07:57:53
回答 1查看 406关注 0票数 0

当我尝试在PyCharm中运行import pwn行时,它崩溃了,并显示以下错误消息:

代码语言:javascript
复制
/usr/local/bin/python3.8 /Users/ianzhang/Documents/Coding/CTF/buffer_overflow1.py
Warning: _curses.error: setupterm: could not find terminfo database

Traceback (most recent call last):
  File "/Users/ianzhang/Documents/Coding/CTF/buffer_overflow1.py", line 1, in <module>
    import pwn
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pwn/__init__.py", line 4, in <module>
    from pwn.toplevel import *
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pwn/toplevel.py", line 20, in <module>
    import pwnlib
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pwnlib/__init__.py", line 43, in <module>
    importlib.import_module('.%s' % module, 'pwnlib')
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pwnlib/args.py", line 62, in <module>
    from pwnlib import term
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pwnlib/term/__init__.py", line 6, in <module>
    from pwnlib.term import completer
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pwnlib/term/completer.py", line 7, in <module>
    from pwnlib.term import readline
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pwnlib/term/readline.py", line 13, in <module>
    from pwnlib.term import text
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pwnlib/term/text.py", line 126, in <module>
    sys.modules[__name__] = Module()
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pwnlib/term/text.py", line 49, in __init__
    s = termcap.get(y)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pwnlib/term/unix_termcap.py", line 28, in get
    s = curses.tigetstr(cap)
_curses.error: must call (at least) setupterm() first

Process finished with exit code 1

但是,当我从终端执行该文件时,它运行得很好。

我也试图找到类似的问题,但似乎其他人的错误是ImportError: cannot import name ENUM_P_TYPE,而不是我的错误。

我在macOS 10.15.4上运行它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-22 08:24:31

这个问题是由于这个,Warning: _curses.error: setupterm: could not find terminfo database,导致了抛出错误和异常的诅咒。

解决方案应该是导出终端变量

代码语言:javascript
复制
$ export TERM=linux
$ export TERMINFO=/bin/zsh

但是对于pycharm,它需要在pycharm的配置中完成。

基于this answer,应该从Edit Configurations -> Environment variables中设置,并设置名称和值对。

代码语言:javascript
复制
TERM linux

TERMINFO /etc/zsh
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63024765

复制
相关文章

相似问题

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