Skip to content

Instantly share code, notes, and snippets.

@meisa233
Created July 26, 2023 06:13
Show Gist options
  • Save meisa233/1511c442dc055b5b19229d00f08f2e57 to your computer and use it in GitHub Desktop.
Save meisa233/1511c442dc055b5b19229d00f08f2e57 to your computer and use it in GitHub Desktop.
Compile Python From Souce Code

1.update apt

ChangeAptSource

sudo apt update
sudo apt upgrade

Install dependencies

sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev libreadline-dev tk-dev libgdbm-dev libdb-dev libpcap-dev xz-utils libexpat1-dev liblzma-dev libffi-dev libc6-dev

2.Extract Files from .tgz file

tar zxvf Python-3.7.9.tgz #解压
cd Python-3.7.9
sudo mkdir -p /usr/local/python3.7 

#Add --enable-optimizations to install pip3 and optimizate
#Add --enable-shared to generate libpython
./configure --prefix=/usr/local/python3.7  --enable-optimizations --enable-shared
make -j8 # -j8会加速,但测试可能会很慢推荐下面这个
make -C ~/Python-3.7.9(Python安装包解压后的根目录) -j8 build_all
sudo make install

3.Create soft link

Note that don't make target link have the same name that existed link!
#create soft link for python3.7
sudo ln -s /usr/local/python3.7/bin/python3.7 /usr/bin/python3.7
#create soft link for pip3.7
sudo ln -s /usr/local/python3.7/bin/pip3.7 /usr/bin/pip3.7
#You may encounter the error
#python3.7: error while loading shared libraries: libpython3.7m.so.1.0: cannot open shared object file: No such file or directory
#please do it
cp /usr/local/python3.7/lib/libpython3.7m.so.1.0 /usr/lib/

4.Check version

python3.7 -V
pip3.7 -V
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment