J'ai Anaconda
(y compris python3.5.2), VIM
(7.4) et Jedi-VIM
installé sur mon système. Il y avait également une python
installation sur le système Linux par défaut.
La saisie semi-automatique fonctionne au moins sur les packages de base. Mais pour des paquets comme numpy
(qui était inclus dans Anaconda
), l'achèvement ne fonctionne pas.
En utilisant la commande suivante dans 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_']
Cela m'indique que l' Anaconda-python
interprète et les packages n'ont jamais été utilisés par jedi-vim
.
$which python
/home/user1/anaconda3/bin/python
Comment puis-je faire en sorte que jedi-vim utilise également le chemin d’anaconda python pour obtenir la saisie semi-automatique des packages?
export PYTHONPATH="/home/user-name/anaconda3/lib/python3.5/site-packages":$PYTHONPATH
à mon~/.zshrc
got jedi-vim pour fonctionner correctement avec anaconda.Tu ne peux pas. Les commandes
:python
et:python3
utilisent toujours les interprètes compilés. Si vous avez une version récente de Vim avecpython
et / oupython3
chargé dynamiquement (voir:h python-dynamic
), vous pouvez utiliserpythondll
etpythonthreedll
charger différents interprètes, mais le remplacement de CPython par Anaconda est IMO demande des erreurs de segmentation (à condition que Vim l'accepte du tout, c'est-à-dire).la source
Versions Jedi 2018+
Vous pouvez simplement l'utiliser
:let jedi#force_py_version=3.8
si vous souhaitez passer à la dernière version de Python, par exemple. Malheureusement, il n'y a pas encore de liste d'environnement dans jedi-vim. Nous devons le construire (il est cependant disponible dans Jedi).Ancienne réponse
Fondamentalement, la seule chose que vous pouvez faire actuellement est de compiler VIM avec la prise en charge de Python 3.5. C'est probablement une idée stupide, mais ça marche.
Sinon, il y aura un support pour les versions croisées de Python, avec https://github.com/davidhalter/jedi/issues/385 .
Notez qu'il peut être possible de modifier le CHEMIN Python, mais cela peut conduire à un SEGFAULT et à d'autres comportements indésirables, car vous autorisez essentiellement Jedi à exécuter du code binaire à partir d'une autre version de Python (Oui, cela se produit réellement).
la source
Vous pouvez compiler vim avec anaconda: je l'ai fait
./configure --with-features=huge --enable-pythoninterp --with-python-config-dir=~/anaconda/lib/python2.7/config/
, je me souviens que j'ai fait des tests similaires par la suite et que:py import sys; print sys.path
je donnais des résultats corrects.Sur la base de la recherche sur le Web, vous pourriez peut-être faire quelque chose comme ça (ex. Pour 3.4):
./configure --enable-python3interp --with-features=huge --with-python3-config-dir=~/anaconda/lib/python3.4/config-3.4m-x86_64-linux-gnu
la source
David a un argument valable sur le mélange de Vim avec différentes saveurs de Python et si un codage dur
PYTHONPATH
vers Anaconda Python dans.profile
/.bashrc
mène vraiment à SEG 11, pourrait-on utiliser un alias de shell.Peut-être que ce contournement suffira.
la source
J'utilise vim 32 bits pour la compatibilité avec d'autres extensions, mais le python 64 bits est le premier sur mon PATH pour d'autres raisons. J'ai donc installé le python 32 bits en utilisant conda via:
et l'a ajouté à mon
.vimrc
:où
C:/Users/USER/AppData/Local/Continuum/anaconda2
est le résultat de l'appelconda info --base
la source