WSL 2上的Python3永远需要(超过6分钟)来导入密钥环
问题描述
在我的WSL2
Ubuntu-20.04
计算机上尝试运行pip
命令时,我注意到了这个问题,运行任何命令都需要很长时间。我最终将范围缩小到pip
导入keyring
模块的时间。
Python 3.8.5 (default, May 27 2021, 13:30:53)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import time
>>> def import_keyring():
... time_start = time.time()
... import keyring
... print(f"Keyring took {time.time() - time_start} seconds to load")
...
>>> import_keyring()
Keyring took 400.4930064678192 seconds to load
查看进程资源管理器,似乎有一个正在等待的子进程:
dbus-launch --autolaunch <32 character hex string> --binary-syntax --close-stderr
dbus-unch命令本身似乎没有任何子进程,所以我使用strace
来查看它挂在哪里:
connect(3, {sa_family=AF_INET, sin_port=htons(6000), sin_addr=inet_addr("<my main machine's IP>")}, 16) = 0
它似乎正在尝试连接到端口6000上的Windows主机计算机,但失败了?现在我只是不知道发生了什么,为什么花了这么长时间才失败。如有任何帮助,敬请惠顾!
解决方案
当我最终单击端口6000
时,我已经准备好询问6000
是什么意思。我很久以前就尝试在Windows上为WSL2
设置X服务器以供使用。
让X服务器正常工作或取消设置DISPLAY
环境变量,这样应该会立即将其清除。
export DISPLAY=
希望这能帮助任何遇到这个模糊问题的人!
相关文章