我想在我的Python IDE中使用gvim(在Windows 7上),但是gvim无法加载我的python。 我的操作系统是带有SP1的Windows 7 X64,我使用的是Python35(64)
我运行:gvim中的版本,输出包括:
...
+python/dyn
+python3/dyn
...
编译:......
-DFEAT_PYTHON -DDYNMIC_PYTHON -DDYNAMIC_PYTHON_DLL=\"python27.dll\" -DFEAT_PYTHON3 -DDYNAMIC_PYTHON3 -DDYNAMIC_PYTHON3_DLL=\"python35.dll\"
...
这意味着这个用python和python3支持编译的gvim, 但是当我跑步时
:echo has("python")
或
:echo has("python3")
都返回0
结果:python print(3)是:
E370:无法加载库python27.dll
E263:抱歉,此命令已禁用,但Python库不可用 加载。
我的python35目录是C:\ Python35,它位于我的PATH中。
这是为什么? gvim只搜索python27,而不是python35吗?
我遵循此vim-ipython-failed-on-windows-7并尝试编辑我的注册表,但它不起作用。
我必须自己重新编译gvim,还是应该放弃gvim?
答案 0 :(得分:4)
我也有这个问题。我重新安装了几次python,确保python和Vim都是相同的架构(都是32位)并没有成功。解决它的唯一方法是将python27.dll复制到Vim的目录中。有点粗糙,但它的确有效!
答案 1 :(得分:2)
:python
命令将使用Python 2 [.7]解释器。由于您只安装了Python 3 [.5],因此需要使用:python3
/ :py3
命令。
答案 2 :(得分:0)
您所遇到的问题是,您正在使用gvim(仅32位);曾经有64位的gvim构建,但已终止(vim.org如此)。如果您有“ + python / dyn”和“ + python3 \ dyn”(vim.org的默认值为8.1 gvim二进制),那么vim只需要知道32位(而不是像您所说的那样安装的64位)在哪里)的python36.dll版本是(在gvim 8.1中寻找它的名称)。如果您可以打开cmd.exe并运行“ python”,并且收到python 3提示符,则python36.dll在您的路径上可用,并且gvim会知道在哪里可以找到它。我遇到了同样的问题,但是使用x86版本从python.org卸载了64位版本并重新安装了python 3.6.6,gvim选中了它并正常工作。快速尝试:py3 print('hello')
,如果回显“ hello”,则说明一切正确。