파이썬 패키지 설치 (Cannot fetch index base URL http://pypi.python.org/simple/)

파이썬 패키지 설치 (Cannot fetch index base URL http://pypi.python.org/simple/)

오늘 파이썬 패키지에 대해 알아낸 바가 있어서 간략히 쓴다. 특별한 건 아니고, 누구나 알만한데 나만 몰랐던 기초적인 내용이다.

우선, 우분투 기준 파이썬 설치는 apt-get install python3 라고 쓰면 된다.

이후 파이썬 패키지 설치는 pip 명령어를 쓰면 된다. pip 은 파이썬 패키지 관리자로, 약어는 Pip Installs Packages 라는 재귀적인 약어이다. 예를 들면 flask 패키지를 설치하고 싶을 경우, pip install flask 라고 쓰면 된다.

그런데 내가 이용하는 카페24 서버에서는 pip 명령어가 동작하지 않았다. Cannot fetch index base URL http://pypi.python.org/simple/ 라는 로그가 발생하였다. 구글링 결과 pip 버전이 너무 높다거나, 프록시 서버 문제라는 의견이 있었는데, 영어 해석도 어렵고 이것저것 해봐도 잘 안돼서 pip 사용은 포기했다.

대안으로 pip을 쓰지 않고 패키지를 설치하는 방법이 있었다.

(1) 패키지를 다운받는다. (github에서 해당 패키지를 찾고, Download ZIP 으로 다운한다)

(2) 압축을 풀면 디렉토리가 나온다. FTP로 서버에 올린다.

(3) 해당 디렉토리 안에 setup.py 파일이 있다. 서버에서 python setup.py install 이라고 쓰면 설치가 진행된다.

이렇게 진행해보니 관련된 패키지가 몽땅 설치되는 것은 아닌지, 내가 만든 프로그램을 실행시키기에는 부족했다.

목적은 flask 를 설치하는 것이었는데, click, itsdangerous 라는 패키지를 차례로 설치하게 되었다. 모두 FTP 업로드 후 python setup.py install 을 이용하여 순조롭게 설치할 수 있었다.

최종적인 문제가 있었다면 내가 만든 패키지를 파이썬이 인식하지 못했다는 점이다. 로컬에서는 문제가 없었는데 말이다. 해결책은 패키지명 폴더 안에 __init__.py 를 넣는 방법이었다. 로컬에서는 윈도우 환경이어서 그런지 몰라도 폴더 안에 __init__.py 가 존재하지 않아도 해당 패키지를 잘 찾았다. 그런데 서버 환경에서는 리눅스(우분투)여서 그런지 파이썬 버전 문제인지는 몰라도 __init__.py 파일이 없으면 패키지를 인식하지 못하는 문제가 있었다.

여튼 패키지는 잘 설치되었고, flask 서버도 잘 떠서 다행이다.