vim无法加载库python27.dll


11

我需要Windows 7 + vim + python来编写vim插件。

:python print("hello")
E370: Could not load library python27.dll
E263: Sorry, this command is disabled, the Python library could not be loaded.

尝试了一切:

  • 重新安装了vim
  • 卸载了我所有的64位python版本并安装了32位python版本
  • 再次重新安装了vim
  • 重新启动电脑
  • 打孔的办公桌和键盘
  • 重新启动电脑

对于所有具有相同问题的人:安装“ cream”会解决 此问题:cream.sourceforge.net是的-这个问题可能会被解决-但是事实是,在Web上的任何地方仍然没有解决方案。
2011年

回答您自己的问题是好的,但是将其发布为答案,而不是发表评论,然后在两天后接受。

借助python支持进行编译
Eric Fortis

嗯...我不是在编译它,而是下载安装程序。
2011年

@drozzy:这里安装程序:bintray.com/veegee/generic/vim_x64。与您有同样的问题,并且不想自己构建Vim。简单!
eckes 2013年

Answers:


13

诊断程序

:version将显示您是否具有32bit vim或64bit
python.exe将显示您是否具有32bit或64bit python。

解析度

现在由您选择:

  • 32位vim + 32位python

  • 64位vim + 64位python

否则,抱怨您引用的错误将不起作用。

注意不能从下载页面下载最新的64位vim。由于某些神秘的原因,现在有一个新的特殊页面:

http://vim.wikia.com/wiki/Where_to_download_Vim


5

您确定安装了与Vim相同版本的32位python吗?我认为没有理由不会解决您的问题,除非您以某种方式在没有python支持的情况下构建了gvim exe。无论如何,我恰好遇到了这个问题,对我来说显而易见的是我的python dll是x64,而我却拥有32位vim。对我来说,解决方案只是构建64位版本的Vim。我更喜欢升级Vim而不是降级Python。我发送到make文件的参数是:

nmake -f Make_mvc.mak GUI=yes CPU=AMD64 PYTHON=C:\Python27 DYNAMIC_PYTHON=yes PYTHON_VER=27

然后,我用刚构建的64位替换了原来的32位gvim.exe。一切正常。如果您担心构建的麻烦,请不要使用Visual Studio 2010的编译器,并从适当的Visual Studio命令提示符(x64交叉工具)运行make,这非常简单。如果需要,我可以发送进一步的说明。


我正是你的情况。因为我不想重新编译vim,所以我安装了python 2.7的32位版本,现在gvim就像一个魅力!
apelliciari'4

有一个预编译的x64版本(从vim.org下载页面链接),安装它可以解决问题。
Antony Hatchkins 2013年

2

可以了:出于某种原因,安装“ cream”可以解决该问题:cream.sourceforge.net。

:python print("hello")
hello

有趣的是,“ cream”包括“ gvim”的常规版本-因此我可以使用它。


2

我没有看到的另一种解决方案对我有用。

1.作为其他答案状态,请确保python版本与32/64位匹配。

2.添加set pythondll=FULL_PATH_TO_THE_APPROPRIATE_PYTHON.DLL到您的.vimrc

例如: set pythondll=E:\\extern\\python27-32\\python27.dll

3.通过关闭并重新启动vim或使用以下命令重新加载vimrc:source $MYVIMRC

其他花絮:

  • 找出您的.vimrc在哪里 :echo $MYVIMRC

  • 轻松编辑.vimrc :e $MYVIMRC

  • 看看它设置为:options随后/pythondll:set pythondll?

  • 测试它是否有效,:py import sys随后:py print('Happy')

更多信息:

:help python-dynamic

:help pythondll

:help options

:help source

:help $MYVIMRC

编辑:


在Vim 8.0上,这仅适用于不带引号(')或双引号(“)。显然,您的路径不应包含任何空格:/
Boris Brodski

好点BorisBrodski。我将引号改为反引号,以免造成任何混乱。
乔恩·普洛特纳

1

我在VIM 7.2中遇到了寻找python25.dll的问题,此问题已通过将python25.dll文件(在我的系统上为c:\ python25 \)的路径添加到PATH环境变量中而得以解决。



0

有一个类似的问题:Google驱动器错误:python27.dll

问题出在python27.dll依赖项中。您可以通过dependencywalker实用程序进行检查。缺少的dll是“ msvcr90.dll”。它带有“ Microsoft Visual C ++ 2008可再发行组件包”,即使所有已安装的更新,Windows 7也不包括它。您应该从以下位置手动安装此软件包:

Windows 7 x64:https//www.microsoft.com/zh-cn/download/details.aspx? id = 15336

Windows 7 32位:https//www.microsoft.com/zh-CN/download/details.aspx?id = 29


OP已经有更好的解决方案
yass,2017年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.