;; pylint is required (pip install pylint) ;; pep8 (pip install pep8) ;; don't use python-mode because JESUS. CHRIST. it throws everything off. ;; using jedi requires virtualenv to be installed ;; pipenv is mostly acceptable but i could not make a full IDE experience happen (use-package pipenv :ensure t) (use-package flycheck :ensure t) ; Let's set up company! perhaps not necessary but this is what i like to use (use-package company :ensure t :config (setq company-idle-delay 0) (setq company-minimum-prefix-length 1)) ; install lsp mode (use-package lsp-mode :ensure t :hook (python-mode . lsp-deferred) :commands (lsp lsp-deferred)) ; let's add the lsp company backend (use-package company-lsp :ensure t :config (push 'company-lsp company-backends)) ; also installs lsp as a dependency (use-package lsp-ui :ensure t :hook (lsp-mode . lsp-ui-mode)) ;; (use-package pyvenv ;; :ensure t) (use-package virtualenvwrapper :ensure t :config (venv-initialize-interactive-shells) ;; if you want interactive shell support (venv-initialize-eshell) ;; if you want eshell support (setq venv-location "~/.local/share/virtualenvs/"))