首页 > 解决方案 > 我无法启动我的第一个 python nameko 服务

问题描述

我得到以下堆栈跟踪:

Traceback(最近一次调用最后一次):
文件“”,第 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 行,在猴子补丁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: module 'os' has no attribute 'register_at_fork'

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

Traceback (most recent call last):
File "c:\users\x\appdata\local\programs\python\python38\lib\runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None,
File "c:\users\x\appdata\local\programs\python\python38\lib\runpy.py", line 87, in run_code
exec(code, run_globals)
File "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 行,在主要
args.main(args)中
文件“c:\users\x\appdata\local\programs\python\python38\lib\site-packages\nameko\cli\commands.py”,第
109 行,
从 .run 导入主
文件“”,第 991 行,在 _find_and_load
文件“”中,第 152 行,在退出
文件“”中,第 107 行,在释放
RuntimeError: cannot release un-acquired lock

这是我的点子冻结:
amqp==2.6.1
astroid==2.4.2
certifi==2020.6.20
chardet==3.0.4
colorama==0.4.3
dnspython==1.16.0
eventlet==0.27.0
greenlet= =0.4.16
idna==2.10
isort==5.5.2 kombu
==4.6.11
lazy-object-proxy==1.4.3
mccabe==0.6.1
mock==4.0.2
monotonic==1.5
nameko==2.12 .0
path==15.0.0
path.py==12.5.0
pylint==2.6.0
PyYAML==5.3.1
requests==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

标签: pythonpipnameko

解决方案


根据您在此处提供的堆栈跟踪,很明显您正在 Windows 环境中工作。nameko不支持基于 Windows 的环境。GitHub 存储库中有一个未解决的问题,nameko请求支持 Windows(以及其他),但自 2019 年 4 月以来没有任何动静。

具体来说,os.register_at_fork导致错误 (" AttributeError: module 'os' has no attribute 'register_at_fork'") 的 Python 方法仅在基于 Unix 的系统上可用。


推荐阅读