2021. 2. 12. 12:11ㆍ꿀팁 분석 환경 설정
"완벽한 해결책은 아니라는 것을 먼저 말씀드립니다."
파이랜스(Pylance)는 마이크로소프트의 기존 파이썬(Python) 확장 기능과 연동돼 파이썬 개발자에게 더 빠른 타입 검사 및 프로그램 분석을 제공한다.
pylance를 사용하면 개발자가 좀 더 빠르게 개발할 수가 있고, 여기에 Error Lens라는 extensions까지 같이 사용하면 더 좋다!
예를 들어 이런 식으로 vscode에서 error를 아주 잘 보여줘서 디버깅하기가 쉬워진다.
근데 여기서 발생한 문제가 있다.
pylance를 사용했을 때 사용자가 따로 개발한 script는 잘 적용이 안되는 이슈가 있었다.
나 같은 경우에는
src
--> data
---------> test
train
--> train
---------> train.py
이런 식으로 directory가 되어있다보니, sys.path.append를 활용해서 하는데, 실제 돌아가는 데는 문제는 없지만, 사용자 디렉터리 부분이 import [package] could not resolved 라는 현상이 발생하게 된다 ㅠㅠ
폴더 경로가 일치하면 큰 문제는 없어 보이는데, 저런 식으로 경로 안에 또 경로를 파고드는 경우가 생기면 문제가 발생할 것 같다.
그래서 발견한 것은 새로 만든 폴더랑 script를 site-packages에 넣는 것이 었다.
그래서 순서는 다음과 같다!
현재 상황
local : windows
remote : ubuntu 16.04
container : ubuntu 16.04
conda 사용
1. 현재 내가 사용하는 site-packages 경로 찾기
python -c 'import site; print(site.getsitepackages())'
# ['/opt/conda/envs/test/lib/python3.7/site-packages']
그러면 내가 사용하는 환경에서의 site-packages 경로를 찾을 수 있다.
2. site-packages 내에서 임의의 폴더 만들기 및 폴더 복사
그러면 다음에는 site-packages 내에서 폴더를 만든 다음에 복사를 하는 것이다.
mkdir /opt/conda/envs/wash/lib/python3.7/site-packages/srlee
cp -rf ./src /opt/conda/envs/wash/lib/python3.7/site-packages/srlee
이런 식으로 하면 srlee라는 폴더에서 내가 만든 폴더들이 다 복사가 된다.
그리고 개발을 하면 된다!
위와 같이 위에 있는 것은 다음과 같은 에러가 뜨지만, 아래에 복사하고 나면 정상 작동하는 것을 알 수 있다.
물론 개발을 다 완료하고 나서, 복사해줘야 하는 단점이 있지만, 장점이 더 많을 것 같다고 생각한다!
더 좋은 방법(21/07/19)
cp보다 symbolic link를 사용하면 더 유용한다.
symbolic link은 바로 가기 같은 역할을 하는 것으로, 원본 파일을 수정하면 바로바로 반영이 된다.
그래서 cp보다는 symbolic link로 해서 개발을 하는 것이 더 좋을 것 같다.
원본을 수정해도 바로가기에 만든 것이 수정되고, 바로가기에서 수정해도 원본이 수정되기 때문에 우리가 원하는 형태는 이런 형태일 것 같다.
ln -s ./srlee /opt/conda/envs/wash/lib/python3.7/site-packages
symbolic link는 아래 글을 참고하시면 간단한 개념 정도는 이해하실 수 있을 것이다.
참고 (https://data-newbie.tistory.com/763)
더 좋은 방법(21/07/27)
더 좋은 방법이라기보다, 패키지처럼 관리할 수 있는 방법도 공유하다.
setup.py를 이용해서 자기만의 프로젝트를 하나 만드는 방법이 있다.
2021.07.27 - [꿀팁 분석 환경 설정/파이썬 개발 팁] - Python) 파이썬 프로젝트를 패키지화하기(setup.py)
위에서 setup.py 사용 방법에 대해서 작성한 글이다.
해당 글을 참고하시면 자신의 코드를 패키지처럼 만들어서 관리할 수 있다.(다들 이미 아실 수도 있지만 공유)
다들 즐거운 코딩하시길!
기본적인 해결 방식은 아래와 같음 pythonpath가 잘 안 맞아서 안되는 경우가 많으니,
vscode에서 python path를 잘 적용해주면 됨.
'꿀팁 분석 환경 설정' 카테고리의 다른 글
vscode) 동일한 화면 생성하는 방법 (0) | 2021.08.29 |
---|---|
VSCode에서 Google Colab GPU Runtime 접속하기 (4) | 2021.03.01 |
[vscode] python 및 git 관련 Extention 찾아보기 (0) | 2021.02.10 |
Pycharm remote SFTP file transfer fails: Permission Denied 및 Failed to change timestamp 해결하기 (0) | 2020.04.30 |
Pycharm Remote Sever로 파일 전부 업로드하기 (0) | 2020.04.12 |