vim không thể tải thư viện python27.dll


11

Tôi cần Windows 7 + vim + python để viết 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.

Đã thử mọi thứ:

  • cài đặt lại vim
  • gỡ cài đặt tất cả các phiên bản python 64 bit của tôi và cài đặt các phiên bản 32 bit
  • cài đặt lại vim một lần nữa
  • khởi động lại máy tính
  • bàn và bàn phím
  • khởi động lại máy tính

Đối với tất cả những người có cùng một vấn đề: cài đặt "cream" sẽ khắc phục nó: cream.sourceforge.net Có - câu hỏi này có thể sẽ bị đóng - nhưng thực tế là vẫn không có giải pháp nào cho vấn đề này ở bất cứ đâu trên web.
Andriy Drozdyuk

Trả lời câu hỏi của riêng bạn là tốt, nhưng đăng nó như một câu trả lời, không phải là một bình luận, sau đó chấp nhận nó sau hai ngày.

biên dịch nó với sự hỗ trợ của python
Eric Fortis

Hừm ... Tôi không biên dịch nó, mà là tải xuống một trình cài đặt.
Andriy Drozdyuk

@drozzy: có được cài đặt ở đây: bintray.com/veegee/generic/vim_x64 . Có vấn đề tương tự như bạn và không muốn tự mình xây dựng Vim. Đơn giản!
eckes

Câu trả lời:


13

Chẩn đoán

:versionsẽ hiển thị cho bạn nếu bạn có vim 32 bit hoặc 64 bit
python.exesẽ hiển thị cho bạn nếu bạn có trăn 32 bit hoặc 64 bit.

Nghị quyết

Bây giờ tùy bạn chọn:

  • Trăn 32 bit + trăn 32 bit hoặc

  • Con trăn 64 bit + con trăn 64 bit

nếu không, nó sẽ không hoạt động phàn nàn với lỗi bạn trích dẫn.

NB vim 64 bit mới nhất không thể được tải xuống từ trang tải xuống nữa. Vì một số lý do bí ẩn, giờ đây có một trang đặc biệt mới cho điều đó:

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


5

Bạn có chắc chắn rằng bạn đã cài đặt cùng một phiên bản python 32 bit mà Vim đang tìm kiếm không? Tôi thấy không có lý do gì mà điều này sẽ không khắc phục được vấn đề của bạn, trừ khi bạn bằng cách nào đó đã có một exe gvim được xây dựng mà không có sự hỗ trợ của python. Dù sao, tôi đã có chính xác vấn đề này, và điều rõ ràng với tôi là con trăn của tôi là x64, trong khi tôi có 32 bit vim. Giải pháp cho tôi chỉ đơn giản là xây dựng phiên bản 64 bit của Vim. Tôi rất thích nâng cấp Vim để hạ cấp Python. Các đối số tôi đã gửi đến tệp tạo là:

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

Sau đó, tôi đã thay thế gvim.exe 32 bit ban đầu của mình bằng 64 bit mà tôi vừa tạo. Mọi thứ hoạt động hoàn hảo. Nếu bạn lo lắng về sự rắc rối của quá trình xây dựng, đừng - rất đơn giản khi sử dụng trình biên dịch của visual studio 2010 và chạy từ dấu nhắc lệnh của studio hình ảnh phù hợp (công cụ chéo x64). Tôi có thể gửi thêm hướng dẫn nếu cần.


tôi đã chính xác trong tình huống của bạn. Vì tôi không muốn biên dịch lại vim, tôi đã cài đặt phiên bản 32 bit của python 2.7 và bây giờ gvim hoạt động như một bùa mê!
apelliciari

Có phiên bản x64 được biên dịch sẵn (được liên kết từ trang tải xuống vim.org), cài đặt nó sẽ giải quyết vấn đề.
Antony Hatchkins

2

Ok đây nó đi: Vì một số lý do cài đặt "cream" sửa nó: cream.sourceforge.net.

:python print("hello")
hello

Thật thú vị, "kem" bao gồm một phiên bản "gvim" thông thường - vì vậy tôi có thể sử dụng nó.


2

Một giải pháp thay thế mà tôi chưa thấy đề cập đến có hiệu quả với tôi.

1. như trạng thái câu trả lời khác, đảm bảo rằng phiên bản python khớp với bit 32/64.

2. thêm set pythondll=FULL_PATH_TO_THE_APPROPRIATE_PYTHON.DLLvào .vimrc của bạn

ví dụ: set pythondll=E:\\extern\\python27-32\\python27.dll

3. tải lại vimrc bằng cách đóng và khởi động lại vim hoặc sử dụng:source $MYVIMRC

các mẩu tin khác:

  • để tìm ra .vimrc của bạn ở đâu :echo $MYVIMRC

  • để dễ dàng chỉnh sửa .vimrc của bạn :e $MYVIMRC

  • để xem những gì nó được đặt thành :optionssau đó /pythondllhoặc:set pythondll?

  • để kiểm tra rằng nó hoạt động :py import systheo sau:py print('Happy')

Thêm thông tin:

:help python-dynamic

:help pythondll

:help options

:help source

:help $MYVIMRC

biên tập:


Trên Vim 8.0, điều này chỉ hoạt động mà không có dấu ngoặc kép (') hoặc dấu ngoặc kép ("). Rõ ràng, đường dẫn của bạn không được chứa bất kỳ khoảng trắng nào: /
Boris Brodski

điểm tốt của BorisBrodski. Tôi đã thay đổi các trích dẫn thành backticks để giúp đỡ với bất kỳ sự nhầm lẫn.
Jon Plotner

1

Tôi gặp vấn đề với VIM 7.2 khi tìm python25.dll Điều này đã được khắc phục bằng cách thêm đường dẫn đến tệp python25.dll (c: \ python25 \ trên hệ thống của tôi) vào biến môi trường PATH.


0

Nếu bạn muốn giữ phiên bản Python 64 bit của mình, tại thời điểm này, có thể tìm thấy phiên bản Vim64 dễ cài đặt và gần đây của Windows tại đây . Nó thậm chí còn gỡ cài đặt gvim 32 bit hiện có cho bạn.


0

Có một câu hỏi tương tự: lỗi ổ đĩa của Google: python27.dll

Vấn đề là trong phụ thuộc python27.dll. Bạn có thể kiểm tra điều này bằng tiện ích phụ thuộc. Thiếu dll là "msvcr90.dll". Nó đi kèm với "Gói phần mềm phân phối lại Microsoft Visual C ++ 2008" và Windows 7 không bao gồm nó ngay cả với tất cả các bản cập nhật đã cài đặt. Bạn nên cài đặt gói này theo cách thủ công từ:

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

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


OP đã có một giải pháp tốt hơn
vào
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.