Knowledge Base Ever

Compile and install Python 3.7.7 on Deepin

2020-03-13 15:16:14

label: Deepin,Python3, Compile Python3

reference: DeepinPythonDeepin BBS

Deepin is a Debian-based Linux distribution suitable for domestic use. Theoretically, the process of installing Python3 on Debian is also suitable for Deepin. All commands in this article are executed at root. Therefore, when not using the root account, you need to add sudo.

Install build tools and dependencies

apt update
apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev curl

Download Python 3.7.7 source code

curl -O https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tar.xz

If wget is installed, you can also use wget

wget https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tar.xz

Unzip, enter the directory, and execute the configuration before compilation

tar -xf Python-3.7.7.tar.xz
cd Python-3.7.7
./configure --enable-optimizations

If you want to compile without replacing the original Python3, execute the following command.

make -j 8 && make altinstall

If you want to override the system's Python3, execute make install

This approach is risky for some Linux distributions, as long as you are already familiar with your Linux distribution.
make -j 8 && make install

Clean up

make clean

Make soft link

mv /usr/bin/python3 /usr/bin/python.bak
ln -s /usr/local/bin/python3.7.7 /usr/bin/python3

mv /usr/bin/pip3 /usr/bin/pip.bak
ln -s /usr/local/bin/pip3.7 /usr/bin/pip3
The above two sets of commands are to backup the python3 and pip3 that come with the system first, but pip3 may not be installed on some systems, and an error will be reported when the third command is executed, which can be ignored. At the same time, when executing the above command, pay attention to the names of the python3 and pip3 files.

Python3 validation can be performed at this time

python3 --version


CentOS7 CentOS PHP Linux Python3 Python MySQL YUM JavaScript MariaDB Redis MySQL8 caching_sha2_password HTML mysql_native_password PHP7 CSS data INDENTIFIED BY password policy requirements SOCKS Web Development Fedora Media Writer msodbcsql Redis5 SVN absolute Deepin jemalloc SQLAlchemy convert FuelPHP mysqlclient Shadowsocks toggle at-symbol Error Control Operator margin PHPUnit Framework ss5.passwd daemon process IIS password SOCKET vps center Fatal Errors MongoDB4 sudoers .htaccess DATE_SUB Phalcon SQL Server 2017 WiFi Compiling PHP frequency conflict set_error_handler TestCase apr Elasticsearch7.3 PHPUnit ss5.conf daemon HTTP particles.js Slim Vincent Garreau Failed to build these modules: _uuid MongoDB Sudo DATE_ADD ip command pg_bha.conf SQL Server width Compiling Apache Frameworks MySQL-python scrollbar Tcp BBR Apache2.4 Elasticsearch libpython3.7m.so.1.0 PHPStorm ss5-3.8.9 CURLOPT_POSTFIELDS NodeJs show VIM Bluetooth Failed to build these modules: _ctypes Minimal ISO substr date sub INTERVAL PECL SQL Date Funcitons Wi-Fi CodeIgniter font-size root Tag Cloud apache httpd dual network interfaces Laravel ss5 CURLFille horiz-align node.js ShadowsocksR vertical-align BarManager exec mb_substr PyCharm SUBDATE date add IntelliJIDEA PEAR SOCKS5 Proxy Server WebStorm Chrome find remi Tag Apache du jQuery PHP5.5 src cURL hide nginx Shadowsocks-Python V2Ray availability eth0 MariaDB10.4 PostgreSQL sub folder date Install MongoDB pdo_sqlsrv SOCKS5 Web Server File Upload mssql-tools register_shutdown_function Symfony ADDDATE DevExpress JetBrain php-fpm sqlsrv Zend Framework height network interface Shadowsocks-Libev unixODBC-devel Aura error_get_last Port 80 string