vim tidak dapat memuat pustaka python27.dll

11

Saya membutuhkan Windows 7 + vim + python untuk menulis plugin vim.

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

Mencoba semuanya:

  • vim diinstal ulang
  • menghapus semua versi python 64bit saya dan menginstal 32bit
  • instal ulang vim lagi
  • menyalakan kembali komputer
  • meja dan keyboard menekan
  • menyalakan kembali komputer
Andriy Drozdyuk
sumber
Untuk semua yang memiliki masalah yang sama: menginstal "cream" memperbaikinya: cream.sourceforge.net Ya - pertanyaan ini mungkin akan ditutup - tetapi kenyataannya adalah bahwa masih belum ada solusi untuk ini di mana pun di web.
Andriy Drozdyuk
Menjawab pertanyaan Anda sendiri itu baik, tetapi posting itu sebagai jawaban, bukan komentar, lalu terima setelah dua hari.
kompilasi dengan dukungan python
Eric Fortis
Hm ... Saya tidak mengkompilasinya, tetapi mengunduh penginstal.
Andriy Drozdyuk
@drozzy: ada yang installer di sini: bintray.com/veegee/generic/vim_x64 . Punya masalah yang sama seperti Anda dan tidak ingin membangun Vim sendiri. Sederhana!
eckes

Jawaban:

13

Diagnostik

:versionakan menunjukkan kepada Anda jika Anda memiliki 32bit vim atau 64bit
python.exeakan menunjukkan kepada Anda jika Anda memiliki 32bit atau 64bit python.

Resolusi

Sekarang terserah Anda untuk memilih:

  • 32bit vim + 32bit python atau

  • 64bit vim + 64bit python

kalau tidak, itu tidak akan berhasil mengeluh dengan kesalahan yang Anda kutip.

NB Terbaru 64bit vim tidak dapat diunduh dari halaman unduhan lagi. Untuk alasan misterius sekarang ada halaman khusus baru untuk itu:

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

Antony Hatchkins
sumber
5

Apakah Anda yakin telah menginstal versi python 32 bit yang sama dengan yang dicari Vim? Saya tidak melihat alasan bahwa ini tidak akan memperbaiki masalah Anda, kecuali jika Anda entah bagaimana memiliki gvim exe yang dibangun tanpa dukungan python. Lagi pula, saya punya masalah ini, dan yang jelas bagi saya adalah bahwa python dll saya adalah x64, sementara saya memiliki 32 bit vim. Solusi bagi saya adalah membangun versi 64 bit Vim. Saya lebih suka memutakhirkan Vim ke menurunkan Python. Argumen yang saya kirim ke file make adalah:

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

Saya kemudian mengganti 32 bit asli saya gvim.exe dengan 64 bit yang baru saja saya buat. Semuanya bekerja dengan sempurna. Jika Anda khawatir tentang kerumitan pembuatan, jangan terlalu mudah menggunakan kompiler visual studio 2010, dan menjalankan make dari command prompt visual studio yang sesuai (x64 cross tools). Saya dapat mengirim instruksi lebih lanjut jika diperlukan.

kami
sumber
saya persis dalam situasi Anda. karena saya tidak ingin mengkompilasi ulang vim, saya menginstal versi 32bit python 2.7 dan sekarang gvim bekerja seperti pesona!
apelliciari
Ada versi x64 yang dikompilasi (ditautkan dari halaman unduhan vim.org), menginstalnya menyelesaikan masalah.
Antony Hatchkins
2

Ok ini dia: Untuk beberapa alasan menginstal "krim" memperbaikinya: cream.sourceforge.net.

:python print("hello")
hello

Yang cukup menarik, "cream" menyertakan versi "gvim" biasa - jadi saya bisa menggunakannya.

Andriy Drozdyuk
sumber
2

Solusi alternatif yang belum saya lihat disebutkan yang bekerja untuk saya.

1. sebagai jawaban lainnya menyatakan, pastikan bahwa versi python cocok dengan bit 32/64.

2. tambahkan set pythondll=FULL_PATH_TO_THE_APPROPRIATE_PYTHON.DLLke .vimrc Anda

sebagai contoh: set pythondll=E:\\extern\\python27-32\\python27.dll

3. muat ulang vimrc dengan menutup dan memulai kembali vim, atau menggunakan:source $MYVIMRC

tidbits lainnya:

  • untuk mencari tahu di mana .vimrc Anda :echo $MYVIMRC

  • untuk dengan mudah mengedit .vimrc Anda :e $MYVIMRC

  • untuk melihat apa yang diatur untuk :optionssaat itu /pythondllatau:set pythondll?

  • untuk menguji apakah itu berhasil :py import sysdiikuti oleh:py print('Happy')

Info lebih lanjut:

:help python-dynamic

:help pythondll

:help options

:help source

:help $MYVIMRC

edit:

Jon Plotner
sumber
Pada Vim 8.0 ini hanya berfungsi tanpa tanda kutip (') atau tanda kutip ganda ("). Jelas, jalur Anda tidak boleh mengandung spasi apa pun: /
Boris Brodski
poin bagus BorisBrodski. Saya mengubah tanda kutip menjadi backticks untuk membantu dengan kebingungan.
Jon Plotner
1

Saya punya masalah dengan VIM 7.2 mencari python25.dll Ini telah diperbaiki dengan menambahkan path ke file python25.dll (c: \ python25 \ pada sistem saya) ke variabel lingkungan PATH.

Willem van Ketwich
sumber
0

Jika Anda ingin menyimpan versi Python 64-bit Anda, pada saat ini, versi Vim64 untuk Windows yang mudah diinstal dan dapat ditemukan di sini . Bahkan menghapus instalan gvim 32-bit yang ada untuk Anda.

Aurel Wisse
sumber
0

Ada pertanyaan serupa: Google drive error: python27.dll

Masalahnya adalah dalam dependensi python27.dll. Anda dapat memeriksa ini dengan utilitas dependencywalker. Dll yang terlewat adalah "msvcr90.dll". Itu datang dengan "Microsoft Visual C ++ 2008 Paket Redistributable" dan Windows 7 tidak termasuk bahkan dengan semua pembaruan yang diinstal. Anda harus menginstal paket ini secara manual dari:

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

Windows 7 32 bit: https://www.microsoft.com/en-US/download/details.aspx?id=29

Eugene Belyakov
sumber
OP sudah memiliki solusi yang lebih baik
yass