[英]py3 import fails but works when running from shell
我已经从源代码手动安装了 python3 和 vim 作为在各种虚拟机上设置我的环境的 shell 脚本的一部分。
当我尝试在vim
运行:py3 import subprocess
,我得到以下信息:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/home/quant/.local/lib/python3.6/subprocess.py", line 136, in <module>
import _posixsubprocess
ImportError: /home/quant/.local/lib/python3.6/lib-dynload/_posixsubprocess.cpython-36m-x86_64-linux-gnu.so: undefined symbol: PyTuple_Type
当我在本地运行此命令时,我没有收到此错误:
pc@quant:~$ ~/.local/bin/python3 -c "import subprocess"
pc@quant:~$
当我输入:py3
时,我找不到任何方法来检查正在运行哪个 python3 二进制文件,但是我的.vimrc
有以下行:
let g:pymode_python="$HOME/.local/bin/python3.6"
这里真正的问题是我正在尝试使用Black
,但是当我运行:Black
我得到了这个:
Error detected while processing /home/quant/.vim/plugged/black/autoload/black.vim:
line 195:
Traceback (most recent call last):
File "<string>", line 96, in <module>
File "<string>", line 57, in _initialize_black_env
File "/home/quant/.local/lib/python3.6/subprocess.py", line 136, in <module>
import _posixsubprocess
ImportError: /home/quant/.local/lib/python3.6/lib-dynload/_posixsubprocess.cpython-36m-x86_64-linux-gnu.so: undefined symbol: PyTuple_Type
Error detected while processing function black#Black:
line 10:
Traceback (most recent call last):
File "<string>", line 1, in <module>
NameError: name 'Black' is not defined
作为替代方案,您可以将formatprg
为python\\ -m\\ black\\ -
在您的 after/python.vim 中,它依赖于标准的子进程和管道(不使用 Vim 自己的 Python)。 它还为您提供了针对每个对象的良好的gq
原生集成。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.