Tengo Anaconda(incluyendo python3.5.2), VIM(7.4) e Jedi-VIMinstalado en mi sistema. También había pythoninstalado en el sistema Linux de forma predeterminada.
El autocompletado está funcionando en paquetes base, al menos. Pero para paquetes como numpy(que se incluyó en Anaconda) la finalización no funciona.
Al usar el siguiente comando en VIM:
:py3 import sys; print(sys.path)
['/usr/lib/python35.zip',
'/usr/lib/python3.5',
'/usr/lib/python3.5/plat-x86_64-linux-gnu',
'/usr/lib/python3.5/lib-dynload',
'/usr/local/lib/python3.5/dist-packages',
'/usr/lib/python3/dist-packages',
'_vim_path_']
Esto me indica que el Anaconda-pythonintérprete y los paquetes nunca han sido utilizados por jedi-vim.
$which python
/home/user1/anaconda3/bin/python
¿Cómo puedo hacer que jedi-vim use también la ruta de Anaconda Python para obtener el autocompletado de paquetes?

export PYTHONPATH="/home/user-name/anaconda3/lib/python3.5/site-packages":$PYTHONPATHa mi~/.zshrctengo jedi-vim para trabajar correctamente con anaconda.No puedes Los comandos
:pythony:python3siempre usan los intérpretes compilados. Si tiene una versión reciente de Vim conpythony / opython3cargada dinámicamente (vea:h python-dynamic) puede usarpythondllypythonthreedllcargar diferentes intérpretes, pero reemplazar CPython por Anaconda es IMO pidiendo segfaults (siempre que Vim lo acepte).fuente
2018+ Versiones Jedi
Solo puede usar
:let jedi#force_py_version=3.8si desea cambiar a la última versión de Python, por ejemplo. Desafortunadamente, todavía no hay una lista de entornos en jedi-vim. Necesitamos construir eso (sin embargo, está disponible en Jedi).Vieja respuesta
Básicamente, lo único que puede hacer actualmente es compilar VIM con soporte para Python 3.5. Esa es probablemente una idea estúpida, pero funciona.
De lo contrario, habrá soporte para versiones cruzadas de Python, con https://github.com/davidhalter/jedi/issues/385 .
Tenga en cuenta que podría ser posible modificar la RUTA de Python, pero eso podría conducir a un SEGFAULT y a otro comportamiento no deseado, porque básicamente está permitiendo que Jedi ejecute código binario desde otra versión de Python (Sí, en realidad sucede).
fuente
Podrías compilar vim con anaconda: lo hice
./configure --with-features=huge --enable-pythoninterp --with-python-config-dir=~/anaconda/lib/python2.7/config/, recuerdo que hice pruebas similares después y:py import sys; print sys.pathme estaba dando resultados correctos.Según la búsqueda en la web , tal vez podría hacer algo como esto (por ejemplo, 3.4):
./configure --enable-python3interp --with-features=huge --with-python3-config-dir=~/anaconda/lib/python3.4/config-3.4m-x86_64-linux-gnufuente
David tiene un punto válido acerca de mezclar Vim con diferentes sabores de Python y si la codificación dura
PYTHONPATHde Anaconda Python en.profile/.bashrcrealmente conduce a SEG 11, ¿podría uno usar un alias de shell?Quizás esta solución sea suficiente.
fuente
Estoy usando 32 bits vim para compatibilidad con otras extensiones, pero el pitón de 64 bits es el primero en mi RUTA por otras razones. Por lo tanto, instalé el python de 32 bits usando conda a través de:
y agregué esto a mi
.vimrc:donde
C:/Users/USER/AppData/Local/Continuum/anaconda2es el resultado de llamarconda info --basefuente