아나콘다 쓰지 말자.

conda install anaconda-clean
anaconda-clean --yes

rm -rf ~/anaconda3

rm -rf ~/opt/anaconda3

rm /usr/local/bin/python3 삭제전에

which pip                                                   1 ↵ ──(Tue,Mar05)─┘

pip: aliased to /Users/junhoha/.pyenv/versions/3.9.13/bin/pip
(base) ┌─(~)─────────────────────────────────────────────────────────(junhoha@Junhoui-MacBookPro:s005)─┐
└─(17:23:44)──> which pip3                                                        ──(Tue,Mar05)─┘
/usr/bin/pip3

뭐지 저 가상환경은 언제 또 만든거지.

나중에 다 지운다고 생각하고 일단 다 백업하자.

/usr/local/bin/python3.9 -m pip list

하나하나 백업하기 힘드므로

pip list | awk 'NR>2 {print $1}' | tee ~/hjh_pypackage.txt 

위 2줄 빼고 패키지 이름만 일단 저장함.

└─(17:36:55)──> brew list | grep python                                           ──(Tue,Mar05)─┘
python-tk@3.10
python@3.10
(base) ┌─(/usr/local/bin)────────────────────────────────────────────(junhoha@Junhoui-MacBookPro:s005)─┐
└─(17:38:17)──> brew uninstall python-tk@3.10                                     ──(Tue,Mar05)─┘
Uninstalling /opt/homebrew/Cellar/python-tk@3.10/3.10.13... (5 files, 151.0KB)
(base) ┌─(/usr/local/bin)────────────────────────────────────────────(junhoha@Junhoui-MacBookPro:s005)─┐
└─(17:38:51)──> brew uninstall python@3.10                                        ──(Tue,Mar05)─┘
Uninstalling /opt/homebrew/Cellar/python@3.10/3.10.13_2... (3,131 files, 57.3MB)
(base) ┌─(/usr/local/bin)────────────────────────────────────────────(junhoha@Junhoui-MacBookPro:s005)─┐
└─(17:38:59)──> which python3                                                     ──(Tue,Mar05)─┘
/usr/local/bin/python3 

뭐야...

아... 내가 컴파일 해서 썼었구나.... ㅠㅠ 이제 성능이 매우 뛰어나다는 3.11 로 가보자. 공식 사이트에서 3.11.8 받았다.(2월 updated)

GDBM_CFLAGS="-I$(brew --prefix gdbm)/include" \
   GDBM_LIBS="-L$(brew --prefix gdbm)/lib -lgdbm" \
   ./configure --with-pydebug \
               --with-openssl="$(brew --prefix openssl@3.0)"

 

make -s -j2

 

Could not build the ssl module!

Python requires a OpenSSL 1.1.1 or newer

brew update
brew upgrade openssl

export LDFLAGS="-L$(brew --prefix openssl@1.1)/lib"
export CPPFLAGS="-I$(brew --prefix openssl@1.1)/include"

make clean

./configure --enable-optimizations   

안되네.

brew upgrade openssl@1.1

export LDFLAGS="-L$(brew --prefix openssl@1.1)/lib $LDFLAGS"
export CPPFLAGS="-I$(brew --prefix openssl@1.1)/include $CPPFLAGS"
./configure --with-openssl=$(brew --prefix openssl@1.1) --with-openssl-rpath=auto
make

XXXXX

export LDFLAGS="-L/opt/homebrew/opt/openssl@1.1/lib $LDFLAGS"
export CPPFLAGS="-I/opt/homebrew/opt/openssl@1.1/include $CPPFLAGS"
export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@1.1/lib/pkgconfig"

./configure --with-openssl=/opt/homebrew/opt/openssl@1.1 --with-openssl-rpath=auto

make clean
make

 

우분투에서

cd /usr/src

sudo wget https://www.python.org/ftp/python/3.11.8/Python-3.11.8.tgz

... https://tecadmin.net/how-to-install-python-3-11-on-ubuntu-22-04/ 여기 껄로 참조~

 

How To Install Python 3.11 on Ubuntu 22.04 / 20.04 – TecAdmin

As of today, Python 3.11 is the latest version available for installation. Python developers who want to start creating a new application should use the latest version. This tutorial will help you to install Python 3.11 on Ubuntu systems. In this guide, we

tecadmin.net

 

/usr/src/Python-3.11.8$ ./python 
Python 3.11.8 (main, Mar  5 2024, 18:19:28) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

 

cat hjh_....txt | while read pkg; do python3.9 -m pip install "$pkg"; done

로 패키지 설치해주면 됨.

 

=============

여기가 비싼 지식

=============

회사에서는 google cloud api 를 다수 이용하고 있다. firebase, ai 등 포함.

https://cloud.google.com/python/docs/setup?hl=ko

 

Python 개발 환경 설정  |  Google Cloud

의견 보내기 Python 개발 환경 설정 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 이 가이드에서는 Google Cloud에서 실행되는 Python 앱 개발을 포함하여 Python 개

cloud.google.com

document가 워낙 많고 3.7 이상이면 된다고 하지만 3.12 쓰다가 서버 날리고 재설치 했다. 3.11도 안되는 부분이 많다. 속도 빠르다면서 갑자기 스턱이 되어 버리고 터미널까지 멈춰서 강제 종료 해야 한다.

 

결국 찾은 버전은

3.9 가 가장 안정적.

3.10.12 도 잘 된다.

python 3.9.13 을 쓰는데 python 3.10.12 도 괜찮다.

마이너버전까지도 맞춰야 관련 라이브러리나 연결된 API를 쓰는데 크게 무리가 없다는 생각이다.

이 "궁합" 문제는 내가 개발자를 하는 30년 넘게 있어온 문제이다. 파이썬 2와 3 싸울 때 만큼은 아니지만, 아직도 버전이 넘어가면

중구 난방이라는 느낌을 지울 수 없다. 그래서 requirements.txt 도 중요한 것이겠지.

작은 기록들도 큰 책임을 지고 있는 사람들에겐 수억원의 가치가 있다.는게 내 생각이다. 언젠가는 3.11로 가야한다. 성능 향상을 버릴 수는 없으니. 그러나 적어도 5년 뒤 정도 생각하고 있다.

/usr/local/bin/python3.9
pip3
pip 23.1.1 from /Users/junhoha/Library/Python/3.9/lib/python/site-packages/pip (python 3.9)

pip3
pip 24.0 from /Users/junhoha/.pyenv/versions/3.9.13/lib/python3.9/site-packages/pip (python 3.9)

pip
pyenv which python                                                                                                              ──(Wed,Mar06)─┘
/Users/junhoha/.pyenv/versions/3.9.13/bin/python
┌─(~)───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────(junhoha@Junhoui-MacBookPro:s000)─┐
└─(16:43:46)──> pyenv which pip                                                                                                                 ──(Wed,Mar06)─┘
/Users/junhoha/.pyenv/versions/3.9.13/bin/pip

 

 

 

===========

 

지난 추억... 아이패드 프로는 구독자에게 아이패드는 지인에게... 

 

 

 

참 앞으로는 구독자 이벤트 안 하기로 했다능. 

'{Infra} Server Setting' 카테고리의 다른 글

rm -rf / 방지  (0) 2019.01.16
서버 인코딩 문제 결국 로직으로 해결 *2024 updated.  (0) 2019.01.16
reboot 이후  (0) 2019.01.11
docker가 말썽을 부릴 때...  (0) 2019.01.11
proxy setting - 2  (0) 2019.01.11

+ Recent posts