TIP : การใช้งาน Python3 บน Ubuntu 14 พร้อมทั้งอัพเดด sudo apt-get update ไม่ได้เพราะ OS ติด EOL
Moderator: mindphp, ผู้ดูแลกระดาน
- mindphp
- ผู้ดูแลระบบ MindPHP
- โพสต์: 47733
- ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
- ติดต่อ:
TIP : การใช้งาน Python3 บน Ubuntu 14 พร้อมทั้งอัพเดด sudo apt-get update ไม่ได้เพราะ OS ติด EOL
อย่างที่รู้กันว่า Ubuntu 14 ที่เป็น EOL ไปแล้ว หมดอายุการสนับสนุน และมีข้อจำกัดหลายอย่าง รวมถึงการเข้าถึง repository และ การติดตั้งแพ็กเกจใหม่ รวมถึงทำให้รัน python3 ได้ด้วย เพราะ Ubuntu 14 มี python เวอร์ชั่นหลักคือ python 2
หลักการคือ เปลี่ยน respo ใหม่ เพราะ respo เพิ่มหมดอายุ
และ ติดตั้ง openssl ใหม่เพราะ เวอร์ชั่นเกิม 1.0.x จะไม่รองรับ ssl 1.2
และ ติดตั้ง python3 เป็น python รอง เพราะ ubuntu จะใช้ python 2 เป็นหลัก
และ pip3 มาใช้กับ python3 และ pip ปกติซึ่งจะใช้กับ python2
และ สำหรับรันโปรเจ็ค python เมื่อมีหลายเวอร์ชั่น แนะนำให้รัน ใน env ของเวอร์ชั่นใครเวอร์ชั่นมัน กับโปรเจ็คนั้น
ไว้จะเอา command line แบบละเอียดตามให้ ตั้งแต่ ขั้นตอนการ อัพเกรด lib ของ Ubuntu 14 ให้ใหม่สุดของแต่ละ lib
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
- mindphp
- ผู้ดูแลระบบ MindPHP
- โพสต์: 47733
- ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
- ติดต่อ:
Re: TIP : การใช้งาน Python3 บน Ubuntu 14
1. แก้ไขแหล่งที่เก็บแพ็กเกจและอัปเดต apt
1.1 เปิดไฟล์ sources.list
โค้ด: เลือกทั้งหมด
sudo nano /etc/apt/sources.list
โค้ด: เลือกทั้งหมด
deb http://mirror.archive.ubuntu.com/ubuntu trusty main restricted universe multiverse
deb http://mirror.archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse
deb http://mirror.archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse
deb http://mirror.archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse
1.4 อัปเดตแพ็กเกจ:
โค้ด: เลือกทั้งหมด
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential checkinstall
2.1 ติดตั้ง dependencies:
โค้ด: เลือกทั้งหมด
sudo apt-get install zlib1g-dev libffi-dev libssl-dev libbz2-dev \
libreadline-dev libsqlite3-dev libncursesw5-dev tk-dev \
libgdbm-dev libc6-dev liblzma-dev uuid-dev
โค้ด: เลือกทั้งหมด
cd /usr/local/src
sudo wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz
sudo tar -xvzf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w
sudo ./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib
sudo make -j$(nproc)
sudo make install
โค้ด: เลือกทั้งหมด
sudo mv /usr/bin/openssl /usr/bin/openssl.bak
sudo ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
sudo ldconfig -v
โค้ด: เลือกทั้งหมด
openssl version
โค้ด: เลือกทั้งหมด
OpenSSL 1.1.1w 11 Sep 2023
3. ติดตั้ง Python 3.9 พร้อมรองรับ SSL
3.1 ดาวน์โหลดและคอมไพล์ Python 3.9:
โค้ด: เลือกทั้งหมด
cd /usr/src
sudo wget https://www.python.org/ftp/python/3.9.18/Python-3.9.18.tgz
sudo tar xvf Python-3.9.18.tgz
cd Python-3.9.18
sudo ./configure --enable-optimizations --with-openssl=/usr/local/ssl --with-openssl-rpath=auto
sudo make -j$(nproc)
sudo make altinstall
โค้ด: เลือกทั้งหมด
python3.9 --version
python3.9 -c "import ssl; print(ssl.OPENSSL_VERSION)"
4. ติดตั้ง pip3 และโมดูล Python ที่จำเป็น
4.1 ติดตั้ง pip3:
โค้ด: เลือกทั้งหมด
python3.9 -m ensurepip --upgrade
python3.9 -m pip install --upgrade pip
โค้ด: เลือกทั้งหมด
python3.9 -m pip install virtualenv flask flask-socketio gevent gevent-websocket greenlet
โค้ด: เลือกทั้งหมด
pip3 install virtualenv
5.1 สร้าง Virtual Environment:
โค้ด: เลือกทั้งหมด
python3.9 -m venv venv
โค้ด: เลือกทั้งหมด
source venv/bin/activate
โค้ด: เลือกทั้งหมด
pip3 install -r requirements.txt
โค้ด: เลือกทั้งหมด
pip3 install flask flask-socketio gevent gevent-websocket greenlet
6. รันแอปพลิเคชัน (app.py)
6.1 เปิดใช้งาน Virtual Environment:
โค้ด: เลือกทั้งหมด
source venv/bin/activate
โค้ด: เลือกทั้งหมด
python3 app.py
7. แก้ไขปัญหา async_mode (ถ้าจำเป็น)
หากมีปัญหาเกี่ยวกับ async_mode:
แก้ไขโค้ดใน app.py:
โค้ด: เลือกทั้งหมด
socketio = SocketIO(app) # ปล่อยให้เลือกโหมด async อัตโนมัติ
โค้ด: เลือกทั้งหมด
pip3 install eventlet
8. ตรวจสอบการตั้งค่าทั้งหมด
8.1 ตรวจสอบ OpenSSL:
โค้ด: เลือกทั้งหมด
openssl version
โค้ด: เลือกทั้งหมด
python3.9 -c "import ssl; print(ssl.OPENSSL_VERSION)"
โค้ด: เลือกทั้งหมด
pip3 freeze
สรุปขั้นตอนทั้งหมด:
- อัปเดต apt และแก้ไขแหล่งที่เก็บให้ชี้ไปที่ http://mirror.archive.ubuntu.com/ubuntu
- ติดตั้ง OpenSSL 1.1.1 ใหม่และตั้งค่า symbolic links
- คอมไพล์ Python 3.9 ใหม่พร้อมรองรับ OpenSSL
- ติดตั้ง pip3 และ dependencies ใน Virtual Environment
- เปิดใช้งาน Virtual Environment แล้วรันแอปด้วย Python 3.9
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
- mindphp
- ผู้ดูแลระบบ MindPHP
- โพสต์: 47733
- ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
- ติดต่อ:
Re: TIP : การใช้งาน Python3 บน Ubuntu 14 พร้อมทั้งอัพเดด sudo apt-get update ไม่ได้เพราะ OS ติด EOL
ให้เครียร์ cache ของ repoIgn http://mirror.archive.ubuntu.com trusty/multiverse Translation-en_US
Ign http://mirror.archive.ubuntu.com trusty/restricted Translation-en_US
Ign http://mirror.archive.ubuntu.com trusty/universe Translation-en_US
W: Failed to fetch https://repos.insights.digitalocean.com ... 4/Packages Bad header line
W: Failed to fetch https://repos.insights.digitalocean.com ... 6/Packages Bad header line
วิธีแก้ปัญหา
1. ลบแหล่งที่มาของ PPA ที่ใช้งานไม่ได้
ตรวจสอบไฟล์ที่เกี่ยวข้องกับ PPA:
โค้ด: เลือกทั้งหมด
ls /etc/apt/sources.list.d/
ลบไฟล์ที่เกี่ยวข้องกับ PPA:fkrull-deadsnakes-python2.7-trusty.list
fkrull-deadsnakes-trusty.list
โค้ด: เลือกทั้งหมด
sudo rm /etc/apt/sources.list.d/fkrull-deadsnakes-python2.7-trusty.list
sudo rm /etc/apt/sources.list.d/fkrull-deadsnakes-trusty.list
โค้ด: เลือกทั้งหมด
sudo rm -rf /var/lib/apt/lists/*
sudo apt clean
โค้ด: เลือกทั้งหมด
sudo apt update
sudo apt upgrade
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
-
- Similar Topics
- ตอบกลับ
- แสดง
- โพสต์ล่าสุด
-
-
โพสต์ใหม่ เปลี่ยน Default Python3 บนเครื่อง Ubuntu 16.04 จาก Python3.5 เป็น Python3.6
โดย mindphp » 21/11/2019 7:04 am » ใน Linux - Web Server - 1 ตอบกลับ
- 1858 แสดง
-
โพสต์ล่าสุด โดย mindphp
23/11/2019 1:34 am
-
-
-
โพสต์ใหม่ ใช้ sudo su ไม่ได้บน command ubuntu
โดย MBMoo » 02/12/2020 3:25 pm » ใน ถาม - ตอบ คอมพิวเตอร์ - 5 ตอบกลับ
- 1544 แสดง
-
โพสต์ล่าสุด โดย MBMoo
02/12/2020 5:20 pm
-
-
-
โพสต์ใหม่ วิธีการแก้ไข sudo must be owned by uid 0 and have the setuid bit set บน ubuntu
โดย jamepiyawat » 17/06/2019 3:25 pm » ใน Share Knowledge - 2 ตอบกลับ
- 1884 แสดง
-
โพสต์ล่าสุด โดย jamepiyawat
17/06/2019 4:04 pm
-
-
-
โพสต์ใหม่ รันคำสั่ง sudo yum update เจอ Error บน CentOS Existing lock /var/run/yum.pid
โดย mindphp » 06/04/2017 8:22 pm » ใน Linux - Web Server - 1 ตอบกลับ
- 2462 แสดง
-
โพสต์ล่าสุด โดย mindphp
06/04/2017 8:26 pm
-
-
-
โพสต์ใหม่ วิธี Deploy Django โดยใช้ python3 ด้วย Cyberpanel บน Ubuntu
โดย mindphp » 19/09/2024 3:02 am » ใน Linux - Web Server - 0 ตอบกลับ
- 1195 แสดง
-
โพสต์ล่าสุด โดย mindphp
19/09/2024 3:02 am
-
-
-
โพสต์ใหม่ ขอทราบวิธี update version phpmyadmin บนระบบ ubuntu ค่ะ
โดย araxvaan » 06/06/2017 3:25 pm » ใน สอบถามปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM - 0 ตอบกลับ
- 802 แสดง
-
โพสต์ล่าสุด โดย araxvaan
06/06/2017 3:25 pm
-
ผู้ใช้งานขณะนี้
สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 15