[PYTHON] Utiliser les droits d'auteur avec Spacemacs

Du lsp-mode qui est la pierre angulaire du LSP dans Spacemacs lsp-pyright vous permet d'utiliser le vérificateur de type Python pyright Je l'ai appris récemment, je vais donc l'utiliser

(Il y a une théorie selon laquelle les [pyls] conventionnels (https://github.com/palantir/python-language-server) vont bien, mais récemment j'ai ressenti quelque chose de lourd, alors j'essaye pyrit, qui a la réputation d'être rapide)

installation de droits d'auteur

Si vous utilisez node, installez pyright avec npm

$ npm install -g pyright

Spécifiez le serveur LSP de couche Python comme pyrit dans Spacemacs

Le paramètre de couche de .spacemacs dit d'écrire comme ceci, alors écrivez-le. Il semble qu'il puisse être spécifié comme serveur LSP

.spacemacs(Extrait)


(defun dotspacemacs/layers ()
  (setq-default
   dotspacemacs-configuration-layers
   '(
     (python :variables 
      python-backend 'lsp 
      python-lsp-server 'pyright)
    )
  )
)

cf. https://github.com/syl20bnr/spacemacs/tree/develop/layers/%2Blang/python

Il ne semble pas nécessaire de configurer des jedi du côté des Spacemacs

Créez un fichier de configuration sous la racine du projet LSP

Lorsque vous ouvrez le fichier Python, il vous sera demandé de choisir la racine du projet LSP, mais de créer pyrightconfig.json dans cette racine de projet.

Je l'ai fait sur Ubuntu18.04LTS sur WSL2 sur Windows10, mais si vous le mettez dans la racine du projet v2project / avec le nom d'utilisateur v2okimochi, cela ressemble à ceci

pyrightconfig.json


{
  "venvPath": "/home/v2okimochi/.local/share/virtualenvs/v2project-ABCDEFGH",
  "stubPath": "",
  "executionEnvironments": [
    {
      "root": "src"
    },
    {
      "root": "tests",
      "extraPaths": [
        "src"
      ]
    }
  ]
}

--Spécifiez venvPath si vous utilisez pipenv ou pyenv --Il semble être autour de .local / share / virtualenvs / sous le répertoire personnel --Cela peut également être utile [Utiliser Spacemacs pour compléter automatiquement Python, linter, etc. - Faire reconnaître à Spacemacs l'environnement virtuel python](https://qiita.com/v2okimochi/items/db178969165e72d2032f#spacemacs%E3%81%A7python % E4% BB% AE% E6% 83% B3% E7% 92% B0% E5% A2% 83% E3% 82% 92% E8% AA% 8D% E8% AD% 98% E3% 81% 95% E3 % 81% 9B% E3% 82% 8B) --Spécifiez stubPath vide pour éliminer les erreurs inutiles --typings n'est pas un répertoire valide J'obtiens une erreur et c'est ennuyeux (même si cela semble inoffensif) cf. typings.py` file inside a project causes pyright to report that this is not a valid directory. --Spécifiez le répertoire racine à lire par copyright

Vous ne pourrez peut-être pas lire la bibliothèque tierce

Lorsque j'ai essayé d'utiliser boto3, j'ai eu une erreur d'importation non résolue.

Une erreur similaire dans VSCode semble avoir été corrigée. .. .. cf. all third party imports not resolved in VS Code

Pour le moment, je l'ai installé secrètement avec pipenv run pip install boto3 et cela l'a résolu, mais je ressens quelque chose de différent (s'il est écrit dans le Pipfile mais qu'il n'est pas installé, c'est ennuyeux)

Recommended Posts

Utiliser les droits d'auteur avec Spacemacs
Utiliser pyright avec CentOS7, emacs lsp-mode
Utilisez mecab-ipadic-neologd avec igo-python
Utilisez RTX 3090 avec PyTorch
Utiliser ansible avec cygwin
Utiliser pipdeptree avec virtualenv
[Python] Utiliser JSON avec Python
Utilisez Mock avec pytest
Utiliser l'indicateur avec pd.merge
Utiliser Gentelella avec Django
Utiliser mecab avec Python 3
Utiliser tensorboard avec Chainer
Utiliser DynamoDB avec Python
Utilisez Python 3.8 avec Anaconda
Utiliser python avec docker
Utiliser TypeScript avec django-compresseur
Utilisez LESS avec Django
Utiliser MySQL avec Django
Utiliser Enum avec SQLAlchemy
Utiliser tensorboard avec NNabla
Utiliser le GPS avec Edison
Utilisez nim avec Jupyter
Utiliser l'API Trello avec python
Utiliser des balises personnalisées avec PyYAML
Utiliser TensorFlow avec Intellij IDEA
Utiliser l'API Twitter avec Python
Utiliser pip avec Jupyter Notebook
Utiliser DATE_FORMAT avec le filtre SQLAlchemy
Utiliser TUN / TAP avec Python
Utilisez sqlite3 avec NAO (Pepper)
Utilisez les load_extensions de sqlite avec Pyramid
Utiliser les polices Windows 10 avec WSL
Utilisation du chainer avec Jetson TK1
Utiliser SSL avec Celery + Redis
Utiliser Cython avec Jupyter Notebook
Utilisez Maxout + CNN avec Pylearn2
Utilisez WDC-433SU2M2 avec Manjaro Linux
Utilisez OpenBLAS avec numpy, scipy
Utiliser l'API subsonique avec python3
Utilisation de Sonicwall NetExtener avec Systemd
Utilisez prefetch_related commodément avec Django
Utiliser l'interpréteur AWS avec Pycharm
Utilisation de Bokeh avec IPython Notebook
Utiliser une plage de type Python avec Rust
Python: comment utiliser async avec
Utilisation de la base de données SQL d'Azure avec SQL Alchemy
Utiliser la caméra Point Grey avec Python (PyCapture2)
Utilisez vl53l0x avec RaspberryPi (python)
Utilisez PX-S1UD / PX-Q1UD avec Jetson nano
Utilisez la fonction de prévisualisation avec aws-cli
Pour utiliser virtualenv avec PowerShell
Utilisez NAIF SPICE TOOL KIT avec Python
Utiliser rospy avec virtualenv dans Python3
Utiliser Markdown avec le notebook Jupyter (avec raccourci)
Utiliser Python mis en pyenv avec NeoVim
Utilisez Tensorflow 2.1.0 avec Anaconda sur Windows 10!
Utiliser la synthèse vocale Windows 10 avec Python
Utiliser la bibliothèque curl / jq avec Go