chd/.emacs.d/jlj-python.el

51 lines
1.2 KiB
EmacsLisp

;;; jlj-python.el --- python customizations -*- lexical-binding: t -*-
;;; Commentary:
;; 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
;;; Code:
;; Initialise installed packages
(use-package pipenv
:ensure t)
(use-package poetry
:ensure t)
(use-package flycheck
:ensure t)
; helps with LSP, generally.
(yas-global-mode 1)
; 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))
(use-package project :ensure t)
(use-package eglot
:ensure t
:config
(add-hook 'python-mode-hook 'eglot-ensure))
;; (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/"))
;;; jlj-python.el ends here