꿀팁 분석 환경 설정/파이썬 개발 팁(26)
-
NoSuchDisplayException: Cannot connect to "None" 해결하기
/opt/conda/lib/python3.8/site-packages/pyglet/canvas/xlib.py in __init__(self, name, x_screen) 121 self._display = xlib.XOpenDisplay(name) 122 if not self._display: --> 123 raise NoSuchDisplayException('Cannot connect to "%s"' % name) 124 125 screen_count = xlib.XScreenCount(self._display) NoSuchDisplayException: Cannot connect to "None" sudo apt install xvfb sudo apt install ffmpeg pip3 install..
2021.09.08 -
Error occurred while running `from pyglet.gl import *` 해결하기
in get_screen() 12 # Returned screen requested by gym is 400x600x3, but is sometimes larger 13 # such as 800x1200x3. Transpose it into torch order (CHW). ---> 14 screen = env.render(mode='rgb_array').transpose((2, 0, 1)) 15 # Cart is in the lower half, so strip off the top and bottom of the screen 16 _, screen_height, screen_width = screen.shape /opt/conda/lib/python3.8/site-packages/gym/envs/cl..
2021.09.08 -
python) pip freeze에서 패키지 버전을 안보여주는 경우
기존에 패키지 requirements를 만들 때 다음과 같이 만드는 것을 다들 알고있을 것이다. pip freeze > ./requirments.txt 필자도 보통 위와 같이 만드는데, 만들고 나면 꼭 이상한 목록들이 몇개 생긴다. pkg @asdasdasdasd 이런식으로 패키지명하고 뒤에 @를 하고 적혀있는 것이 있다. 그래서 저러다보니 나중에 install을 할 경우 중간에 멈추는 경우가 발생한다. pip install -r ./requirements.txt # 에러 발생! 그래서 패키지 버전이 다 잘나오게 하는 것을 찾다보니, 아래와 같은 코드가 있어서 공유한다. pip list --format=freeze > ./requirements.txt 사실 아직 설치 테스트는 안한 상태라서 잘 될지는 모..
2021.09.06 -
vscode) line length 늘리기
파이썬에서 black으로 포맷팅할 때 line length 설정 방법 공유 F1 -> Preference : Open User Settings -> 검색 : python formatting black args ADD item -> --line-length -> ADD item -> 119 이렇게 하면 됨! 아니면 다른 방식 -> setting.json "python.formatting.blackArgs": [ "--line-length", "119" ] 이것을 추가해도 됨! https://dev.to/adamlombard/vscode-setting-line-lengths-in-the-black-python-code-formatter-1g62
2021.09.05 -
Python) Database 관련 자료
아래 링크에 들어가면 Database에 대한 설명과 장단점이 적혀있습니다. 이런쪽에 아직은 약해서 조사하는 것도 어려웠는데, 잘 정리되어 있는 것 같아 공유합니다. 더 많은 라이브러리를 알고 있다면 댓글에 적어주세요! 개인적으로 찾고 있는 것은 numpy를 저장할 수 있으면서 조회할 수 있으면서, 빠르게 INSERT 할 수 있는 DataBase인데, 어떤것이 좋을지 좀 더 알아보고 하나 정해서 테스트해봐야겠다 https://towardsdatascience.com/databases-101-how-to-choose-a-python-database-library-cf19d1157d45 Databases 101: How to Choose a Python Database Library SQL, NoSQL, al..
2021.09.04 -
Python) Numba 예제 (TODO)
목차 예전 Numba 관련 글 https://data-newbie.tistory.com/390 EX) Montecarlo Method import random from numba import jit @jit(nopython=True) def monte_carlo_pi(nsamples): acc = 0 for i in range(nsamples): x = random.random() y = random.random() if (x ** 2 + y ** 2) < 1.0: acc += 1 return 4.0 * acc / nsamples def monte_carlo_pi_no_numba(nsamples): acc = 0 for i in range(nsamples): x = random.random() y = r..
2021.08.13 -
Python) 파이썬 프로젝트를 패키지화하기(setup.py)
일반적으로 우리가 분석을 하다 보면, 다양한 함수나 클래스들을 정의하게 된다. 이럴 경우 가장 귀찮은 경우가 이러한 함수들을 매번 관리하는 것이나, 호출해오는데 많은 어려움이 있다. 아래와 같이 코드를 조직화한다고 해보자. src/ plot.py process.py notebooks/ exploration.ipynb 보통 자신의 만든 함수를 이용하려면 같은 디렉터리에 있어야 가능하지만, src에 있는 패키지를 사용하고 위해서는 아래와 같은 코드가 필요하다. 기본적으로 특정 환경에서 site-package에 있는 것을 라이브러리를 불러오는 방식으로 되어있기 때문에 src에 있는 것을 불러오기 위해서는 필요하다. import sys sys.path.append('../src') 그렇지만, 우리가 매번 작업을..
2021.07.27 -
디버깅) 파이썬 코드 실행 시각화 또는 추적을 하는 3가지 도구
파이썬 실행 코드를 실행할 때 표현해주는 3가지 도구들이 정리된 것이 있어서 공유한다. Loguru — print better exceptions snoop — print the lines of code being executed in a function heartrate — visualize the execution of a Python program in real-time 필자는 여기서 가장 인상 깊은 것은 Logoru 부분이 로깅할 때 유용할 것 같아서 찾아보게 되었는데, 나머지도 좋은 것 같아서 추후에 정리하려고 한다. Loguru — Print Better Exceptions snoop — Print the Lines of Code being Executed in a Function heartr..
2021.05.08 -
디버깅) CyberBrain
installation 1. Installing the library via pip command: pip install cyberbrain 2. Installing the VSCode extension: Currently, the library only supports VSCode IDE and GitPod. I think most of the developers use VSCode (if not, switch as soon as possible!), and installing the extension is not a hard task. Search for this extension and install it: from cyberbrain import trace @trace def add(a,b) : ..
2021.05.08 -
초기 Data Science Project 폴더 생성 및 tree strcture 확
위의 코드에서 일부 수정해서, 초기에 폴더 생성 관련한 코드를 공유한다. 매우 간단하니, 다른 분들도 사용할 때 자기에 프로젝트 상황에 맞게 수정해주시면 될 것 같다. 그리고 추가적으로 아래에는 간단하게 트리 구조를 볼 수 있는 코드가 있어 같이 구현해봤다. 현재 이 코드는 CMD 창에서 있는 현재 위치에서 생성하는 코드이다. import os root = ["src","test","model","data","notebook","output"] data_sub_node = ["raw","processed"] notebook_sub_node= ["eda","poc","modeling","evaluation"] src_sub_node = ["preprocessing","modeling","sampler"] ..
2021.04.24 -
memory profiler 를 활용해서 메모리 사용량 확인하기
목차 패키지 설치 pip install memory_profiler 실행방법 memory profiler를 작동하려면 다음과 같이 한다. python script가 종료되어야 가능하다. python -m memory_profiler test.py memory profiler를 logging 하려면 다음과 같이 하면 된다. logging은 다음과 같이 하면 된다. python -m memory_profiler test.py > ./log.txt @profile로 지정하여야 그 부분에 대해서 확인이 된다! # imports from memory_profiler import profile import requests class BaseExtractor: # decorator which specifies whi..
2021.03.05 -
[Python] python modules import 하는 3가지 테크닉
towardsdatascience.com/3-advance-techniques-to-effortlessly-import-and-execute-your-python-modules-ccdcba017b0c 3 Techniques to Effortlessly Import and Execute your Python Modules How to Make your Python Modules User Friendly towardsdatascience.com 1. Import Everything Scenario utils.py에 있는 모든 함수와 클래스를 불러오기 def add_two(num: int): return num + 2 def multiply_by_two(num: int): return num * 2 a = 5..
2021.03.02