#이맥스통합개발환경 #파이썬
2024-01-12 Note emacside notes python:conda:eglot:emacs:emacside:flake:ide:poetry:pylsp:pyright:python:
Python IDE 를 위한 모든 것을 담아. 기본은 둠이다.
#가상환경: pipx with pylsp
#미니콘다: #파이썬 #활용법 여기에도 안쓴다고 적어 놨다.
(ag91 n.d.) “How to setup python-lsp-server with lsp-mode using pipx - Where parallels cross” ag91
글을 확인해보니 이게 좋겠다. 콘다 문제도 마찬가지다. 빌트인은 아니다.
How to setup python-lsp-server with lsp-mode using pipx pipx를 사용하여 lsp-mode로 python-lsp-server를 설정하는 방법 I have been spending a little time setting up my python environment with lsp-mode and since I struggled a bit, I thought to share it here. 저는 lsp-mode로 파이썬 환경을 설정하는 데 약간의 시간을 보냈고, 약간의 어려움을 겪었기 때문에 여기서 공유해야겠다고 생각했습니다.
Pipx allows you to have python executable running in virtual environments, which is nice to skip all the mess of pip and system installed packages. Pipx를 사용하면 가상 환경에서 파이썬 실행 파일을 실행할 수 있으므로 파이썬 및 시스템 설치 패키지의 번거로움을 모두 건너뛸 수 있습니다.
In elisp the installation translates to: 엘리스에서는 설치가 다음과 같이 번역됩니다:
(unless (executable-find “pipx”) (if (eq ‘darwin system-type) (async-shell-command (concat (if (eq ‘darwin system-type) “brew” “sudo apt”) " install pipx; pipx ensurepath")) )) (add-to-list ’exec-path “~/.local/bin/”)
(unless (executable-find “pylsp”) (async-shell-command “pipx install \“python-lsp-server[all]\”; pipx inject python-lsp-server pylsp-rope pylsp-mypy;”)) The last elisp form is to install python-lsp-server with rope and mypy support. The concept is that you first install pylsp in a virtual environment, and then in the same you want to add more packages. 마지막 elisp 형태는 로프와 mypy를 지원하는 파이썬-lsp-server를 설치하는 것입니다. 개념은 먼저 가상 환경에 pylsp를 설치한 다음 동일한 환경에서 더 많은 패키지를 추가하는 것입니다.
If you now enable lsp mode in your python buffer, you can using rope refactorings (not explored mypy capabilities yet). 이제 파이썬 버퍼에서 lsp 모드를 활성화하면 로프 리팩터링을 사용할 수 있습니다(아직 마이피 기능을 탐색하지 않음).
(unless (executable-find "pipx")
(if (eq 'darwin system-type)
(async-shell-command
(concat
(if (eq 'darwin system-type) "brew" "sudo apt")
" install pipx; pipx ensurepath"))
))
(add-to-list 'exec-path "~/.local/bin/")
(unless (executable-find "pylsp")
(async-shell-command "pipx install \"python-lsp-server[all]\"; pipx inject python-lsp-server pylsp-rope pylsp-mypy;"))
#apt 운영체제 별 기본 파이썬 개발 환경 설치
- import document Hangul
- linker - flake8/pylint 를 flycheck 로 붙임 – lsp 일때도?!
- formatter - blacken 을 설치하는구만. format-on-save 는 lsp 와 연동 안되고 명시된 포메터와 동작.
- pylsp
우분투에서는 패키지 검색해서 설치해야 한다. 다음 영상에서 참고했다. 이렇게 할 경우에 isort, black 까지 한 세트로 가져가면 된다. 이렇게 되면? black 도 설치되나 ’lsp 거쳐서 할지 그냥 black 으로 바로 갈지는 결정하면 된다. 기본은 lsp 를 켜면 lsp 로 연결 될 것.
# bash 로 변경해서 설치한다. 왜? * 지원
bash
sudo apt-get install python3-pytest*
sudo apt-get install python3-debugpy
sudo apt-get install python3-poetry
sudo apt-get install python3-full
sudo apt-get install pipx
sudo apt-get install pipenv
sudo apt-get install autoflake flake8
sudo apt-get install python3-importmagic python3-pylsp-jsonrpc
#pylsp: 기본 LSP 선택 #우분투
pylsp 를 기본으로 사용하자. pyright 과 같은 정적 분석기를 설치하려면 python3-pylsp-mypy
sudo apt-get install python3-pylsp python3-pylsp-isort python3-pylsp-black python3-flake8
# python3-pylsp-mypy
#주피터 노트북 활용법
Replacing Jupyter Notebook with Org Mode - sqrtminusone.xyz 오래되긴 했다. 이거 리포 가서 확인해봐라. 요즘에 어떻게 쓰는지
관련 노트
Termux emacs on android 모바일 환경
참고 자료
[Setup Linux IDE on Ubuntu]
Python Configuration for Emacs 29 - youtube.com
https://gist.github.com/ntBre/a6e1f7933314c77eceef49cd844b5413
문득 좋은 구성이구나 싶다. conda 를 활용하는 간단한 방법을 생각해 본다. 적용하면 된다. 둠이맥스에 활용.
조회수 5,443회 2023. 9. 6.
In this video, I extend my config from the first Emacs 29 video to build a full Python development environment. I use the built-in eglot and tree-sitter packages to interface with pylsp and provide nice syntax highlighting and also show how you can reformat your code, get linter hints, control your conda environment and more!
이 비디오에서는 첫 번째 Emacs 29 비디오의 구성을 확장하여 완전한 Python 개발 환경을 구축합니다. 내장된 eglot 및 tree-sitter 패키지를 사용하여 pylsp와 인터페이스하고 멋진 구문 강조 표시를 제공하며 코드를 다시 포맷하고, 린터 힌트를 얻고, 콘다 환경을 제어하는 방법 등을 보여드립니다!
Website: https://bwestbro.com
Time stamps 00:00:00 Introduction 00:01:42 Installing Python grammar 00:03:11 company-idle-delay and company-minimum-prefix-length 00:04:07 Installing pylsp 00:06:19 Testing out the LSP 00:07:27 conda package 00:08:37 highlight-indent-guides-mode 00:09:35 Adding melpa as a package repository 00:13:04 Binding compiling and formatting 00:14:42 Adding a linter 00:15:39 Bonus eglot keybindings and desktop-save-mode