如何在Windows 10上的新GVIM 8.2安装中启用python?

ttp71kqs  于 2022-11-11  发布在  Windows
关注(0)|答案(1)|浏览(153)

我今天从www.example.com安装了最新的gvimvim.org。它是一个“已加载”的软件包,有很多选项,cfr infra(version命令的输出)
我已经安装了python2.7,python27.dll位于c:\windows\system32。python37.dll和pyhon39.dll位于'c:\Program Files\python37'和'c:\Program Files\python39'目录中。这三个包含pythondll的目录位于系统路径中。
echo has('python')echo has('python3')命令中,Gvim和Vim都输出0。
我是否必须在.vimrc或.gvimrc中添加任何内容才能激活python?
如有任何建议和帮助,我们将不胜感激!
先谢谢你,
圭多

VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Dec 15 2019 23:09:58)
MS-Windows 32-bit console version
Included patches: 1-12
Compiled by appveyor@APPVYR-WIN
Huge version without GUI.  Features included (+) or not (-):
+acl                +eval               +multi_byte_ime/dyn -tag_old_static
+arabic             +ex_extra           +multi_lang         -tag_any_white
+autocmd            +extra_search       +mzscheme/dyn       +tcl/dyn
+autochdir          -farsi              -netbeans_intg      +termguicolors
+autoservername     +file_in_path       +num64              +terminal
-balloon_eval       +find_in_path       +packages           -termresponse
+balloon_eval_term  +float              +path_extra         +textobjects
-browse             +folding            +perl/dyn           +textprop
++builtin_terms     -footer             +persistent_undo    -tgetent
+byte_offset        +gettext/dyn        +popupwin           +timers
+channel            -hangul_input       -postscript         +title
+cindent            +iconv/dyn          +printer            -toolbar
+clientserver       +insert_expand      +profile            +user_commands
+clipboard          +job                +python/dyn         +vartabs
+cmdline_compl      +jumplist           +python3/dyn        +vertsplit
+cmdline_hist       +keymap             +quickfix           +virtualedit
+cmdline_info       +lambda             +reltime            +visual
+comments           +langmap            +rightleft          +visualextra
+conceal            +libcall            +ruby/dyn           +viminfo
+cryptv             +linebreak          +scrollbind         +vreplace
+cscope             +lispindent         +signs              +vtp
+cursorbind         +listcmds           +smartindent        +wildignore
+cursorshape        +localmap           +sound              +wildmenu
+dialog_con         +lua/dyn            +spell              +windows
+diff               +menu               +startuptime        +writebackup
+digraphs           +mksession          +statusline         -xfontset
-dnd                +modify_fname       -sun_workshop       -xim
-ebcdic             +mouse              +syntax             -xpm_w32
+emacs_tags         -mouseshape         +tag_binary         -xterm_save
   system vimrc file: "$VIM\vimrc"
     user vimrc file: "$HOME\_vimrc"
 2nd user vimrc file: "$HOME\vimfiles\vimrc"
 3rd user vimrc file: "$VIM\_vimrc"
      user exrc file: "$HOME\_exrc"
  2nd user exrc file: "$VIM\_exrc"
       defaults file: "$VIMRUNTIME\defaults.vim"
Compilation: cl -c /W3 /nologo  -I. -Iproto -DHAVE_PATHDEF -DWIN32  -DFEAT_CSCOPE -DFEAT_TERMINAL -DFEAT_SOUND
-DFEAT_JOB_CHANNEL      -DWINVER=0x0501 -D_WIN32_WINNT=0x0501 /MP -DHAVE_STDINT_H /Ox /GL
-DNDEBUG /arch:IA32 /Zl /MT -DFEAT_MBYTE_IME -DDYNAMIC_IME -DDYNAMIC_ICONV -DDYNAMIC_GETTEXT
-DFEAT_TCL -DDYNAMIC_TCL -DDYNAMIC_TCL_DLL=\"tcl86t.dll\" -DDYNAMIC_TCL_VER=\"8.6\" -DFEAT_LUA
-DDYNAMIC_LUA -DDYNAMIC_LUA_DLL=\"lua53.dll\" -DFEAT_PYTHON -DDYNAMIC_PYTHON
-DDYNAMIC_PYTHON_DLL=\"python27.dll\" -DFEAT_PYTHON3 -DDYNAMIC_PYTHON3
-DDYNAMIC_PYTHON3_DLL=\"python37.dll\" -DFEAT_MZSCHEME -I "C:\Program Files (x86)\Racket\include"
-DMZ_PRECISE_GC -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"libracket3m_a36fs8.dll\"
-DDYNAMIC_MZGC_DLL=\"libracket3m_a36fs8.dll\" -DFEAT_PERL -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS
-DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl528.dll\" -DFEAT_RUBY -DDYNAMIC_RUBY -DDYNAMIC_RUBY_VER=24
-DDYNAMIC_RUBY_DLL=\"msvcrt-ruby240.dll\" -DFEAT_HUGE /Fd.\ObjCULYHTRZi386/ /Zi
Linking: link  /nologo /opt:ref /LTCG:STATUS oldnames.lib kernel32.lib advapi32.lib shell32.lib gdi32.lib
comdlg32.lib ole32.lib netapi32.lib uuid.lib /machine:i386   libcmt.lib  user32.lib  /nodefaultlib:lua53.lib
/STACK:8388608  /nodefaultlib:python27.lib /nodefaultlib:python37.lib   "C:\Tcl\lib\tclstub86.lib" winmm.lib
WSock32.lib /PDB:vim.pdb -debug
06odsfpq

06odsfpq1#

Windows上通常的Vim软件包提供了一个32位的二进制文件,而32位的二进制文件不能与64位的库一起工作(这通常是我所期望的Python安装)。
以下站点提供了64位版本的Vim软件包:github.com/vim/vim-win32-installer/releases
对于那些希望添加对外部语言(如Python)的支持的人,明确提到了它们。
一旦有了与Python库匹配的64位Vim二进制文件,就需要让它正确地找到系统中的库。
尝试将'pythonthreedll''pythonthreehome'变量设置为指向系统中的变量。
可以通过检查:version输出来检查所需的python版本。特别是,底部显示的编译标志将显示类似-DDYNAMIC_PYTHON3_FLL=\"python37.dll\"的内容。
因此,Vim似乎是使用python37.dll构建的,所以让我们首先尝试该版本:

set pythonthreedll=c:\\Program\ Files\\python37\\python37.dll
set pythonthreehome=c:\\Program\ Files\\python37

这可能不是你系统中的路径,或者Vim想要的设置值...请尝试一下,看看你是否找到了一个组合,使它工作。
请注意,您需要使用反斜杠来转义空格,并且需要使用两个反斜杠作为路径分隔符。您不应该在行中的其他地方使用空格(例如,在=周围)。
对于Python 2.7来说,也许可以做一些类似的事情,但是在这一点上,Python 2基本上是不赞成的,所以我宁愿花时间让Python 3工作,而不是Python 2...

相关问题