日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 默认站点!

默认站点

當前位置: 首頁 >

vim 7.4同时支持python 2.x和3.x问题调研

發布時間:2023/11/27 40 豆豆
默认站点 收集整理的這篇文章主要介紹了 vim 7.4同时支持python 2.x和3.x问题调研 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
如果你要在VIM中增加諸如YouCompleteMe這一類的插件的話,那么你需要VIM有Python的支持,這個是在一開始編譯的選項里指定的。
我一開始懷著美好的愿望,希望vim能完美支持Python2和Python 3,所以,我在源碼編譯vim 7.4時加入了對Python這兩個版本的支持。
另外,我也安裝了YouCompleteMe插件,但是使用vim時我看到vim的抱怨


下面是我的調研,Vim的幫助文件中這樣描述:
Vim 7.4源碼可以用四種方式編譯 (:version輸出結果):?
1. 無 Python 支持 (-python、-python3)?
2. 只有 Python 2 支持 (+python 或 +python/dyn、-python3)?
3. 只有 Python 3 支持 (-python、+python3 或 +python3/dyn)?
4. Python 2 和 3 支持 (+python/dyn、+python3/dyn)

目前我遇到下面的問題:
vim --version | grep python
得到+python/dyn和+python3/dyn,但是在
:echo has('python')命令行卻輸出0而非1
:echo has('python3')命令行卻輸出0而非1

在vim命令模式下面運行
:h python-2-and-3

我們得到下面的說明:


vim中Python2和Python 3不能共存,當它們都支持時,它們必須是動態載入的方式。在Linux/Unix環境中,當導入全局符號時,會導致第二個Python版本崩潰。

所以要么加載global symbols只激活一個Python版本,要么不導入全局符號,這會導致Python導入vim提供的全局符號的相關庫的import出錯。

結論

最后,沒有辦法,為了減少麻煩,還是讓vim支持Python的一個版本吧

重新編譯安裝vim

進入vim源碼目錄,先卸載vim,再清除原有配置

cd vim74/src ?

make uninstall ? //vim卸載了
make clean ?
rm -f src/auto/config.cache

重新編譯安裝,只支持Python 2.7.x

./configure --with-features=huge --enable-pythoninterp --with-python-config-dir=/usr/local/python2710/lib/python2.7/config --enable-rubyinterp --enable-perlinterp --enable-luainterp --with-lua-prefix=/usr --enable-cscope ?--enable-multibyte ?--enable-gui=auto --enable-xim ?--with-x --enable-fontset --enable-sniff --disable-selinux?
make ?
make install

驗證Python版本支持情況

vim --version | grep python


然后打開一個文件

vim old.vimrc

在命令行輸入

:echo has('python')命令行為1
:echo has('python3')命令行為0

這就達到了我們的要求


參考文獻
http://www.linuxidc.com/Linux/2015-04/116471.htm
http://tieba.baidu.com/p/2977752030 ? 這個有啟發

總結

以上是默认站点為你收集整理的vim 7.4同时支持python 2.x和3.x问题调研的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得默认站点網站內容還不錯,歡迎將默认站点推薦給好友。