【问题标题】:I'm having trouble starting up my first python nameko service我无法启动我的第一个 python nameko 服务
【发布时间】:2020-12-29 05:45:30
【问题描述】:

我得到以下堆栈跟踪:

回溯(最近一次通话最后一次):
文件“”,第 991 行,在 _find_and_load
文件“”,第 975 行,在 _find_and_load_unlocked
文件“”,第 671 行,在 _load_unlocked
文件“”,第 783 行,在 exec_module
文件“”,第 219 行,在 _call_with_frames_removed
文件“c:\users\x\appdata\local\programs\python\python38\lib\site-packages\nameko\cli\run.py”,第 4 行,在
eventlet.monkey_patch() # noqa(其余导入之前的代码)
文件“c:\users\x\appdata\local\programs\python\python38\lib\site-packages\eventlet\patcher.py”,第 334 行,在 monkey_patch
fix_threading_active()
文件“c:\users\x\appdata\local\programs\python\python38\lib\site-packages\eventlet\patcher.py”,第 331 行,在 fix_threading_active
_os.register_at_fork(
AttributeError:模块“os”没有属性“register_at_fork”

在处理上述异常的过程中,又发生了一个异常:

回溯(最近一次通话最后一次):
_run_module_as_main 中的文件“c:\users\x\appdata\local\programs\python\python38\lib\runpy.py”,第 194 行 返回_run_code(代码,main_globals,无,
run_code
中的文件“c:\users\x\appdata\local\programs\python\python38\lib\runpy.py”,第 87 行 执行(代码,run_globals)
文件“C:\Users\x\AppData\Local\Programs\Python\Python38\Scripts\nameko.exe_main
.py”,第 7 行,在
文件“c:\users\x\appdata\local\programs\python\python38\lib\site-packages\nameko\cli\main.py”,第
112 行,在 main
args.main(args)
文件“c:\users\x\appdata\local\programs\python\python38\lib\site-packages\nameko\cli\commands.py”,第
109 行,在 main
从 .run 导入主
文件“”,第 991 行,在 _find_and_load
退出
中的文件“”,第 152 行 文件“”,第 107 行,在发布
RuntimeError: 无法释放未获取的锁

这是我的点子冻结:
amqp==2.6.1
astroid==2.4.2
证书==2020.6.20
chardet==3.0.4
colorama==0.4.3
dnspython==1.16.0
小事件==0.27.0
greenlet==0.4.16
idna==2.10
异类==5.5.2
海带==4.6.11
惰性对象代理==1.4.3
mccabe==0.6.1
模拟==4.0.2
单调==1.5
nameko==2.12.0
路径==15.0.0
path.py==12.5.0
pylint==2.6.0
PyYAML==5.3.1
请求==2.24.0
六==1.15.0
toml==0.10.1
urllib3==1.25.10
藤==1.3.0
virtualenv==20.0.31
Werkzeug==1.0.1
wrapt==1.12.1

【问题讨论】:

    标签: python pip nameko


    【解决方案1】:

    根据您在此处提供的堆栈跟踪,很明显您是在 Windows 环境中工作。 nameko 不支持基于 Windows 的环境。有一个 open issue in the nameko GitHub repository 请求支持 Windows(以及其他),但自 2019 年 4 月以来没有任何动静。

    具体来说,Python 的 os.register_at_fork 方法,即导致您的错误的方法(“AttributeError: module 'os' has no attribute 'register_at_fork'”)仅适用于基于 Unix 的系统。

    【讨论】:

    • 这可以解释为什么我只能在 docker 环境中执行它。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-28
    • 2021-12-07
    • 1970-01-01
    • 2012-09-09
    相关资源
    最近更新 更多