Score:5

วิธีทำให้ mod_wsgi ใช้ Python 3.9

ธง ru

เดิมทีฉันติดตั้ง Python 3.6 และทำงานได้ดีกับ WSGI และ Apache2 บนเซิร์ฟเวอร์ Linux ของฉัน

จากนั้นฉันก็สร้างแอป Flask ที่มีการพึ่งพาซึ่งต้องการ Python 3.7 ฉันอัปเกรด (และคิดว่า) เป็น Python 3.9 สำเร็จแล้ว วิ่ง

หลาม3 หรือ sudo หลาม 3

ทั้งคู่พาฉันไปที่ Python 3.9 แต่เมื่อฉันวิ่ง

sudo apt-get ติดตั้ง libapache2-mod-wsgi-py3
จะมีการติดตั้งแพ็คเกจเพิ่มเติมต่อไปนี้: python3, python3.6

มันติดตั้ง Python 3.6

หลังจากนี้, หลาม3 ยังคงชี้ไปที่ Python 3.9 อย่างไรก็ตาม เมื่อรันแอป WSGI จะใช้ Python 3.6 และหยุดทำงาน ฉันได้ติดตั้งแพ็คเกจ Python แล้ว mod-wsgi ด้วย PIP ที่ถูกต้อง

Score:1
ธง cn

คุณควรจะสามารถควบคุมได้ว่าจะใช้ pytho ใดผ่านบรรทัดการกำหนดค่าอย่างง่าย เช่น. /etc/httpd/conf.d/your_app.conf กับ

WSGIPythonHome /opt/your_python_env

(ฉันขอแนะนำให้ตั้งค่า venv สำหรับแอปของคุณโดยเฉพาะ หากคุณยังไม่ได้ดำเนินการดังกล่าว)

Saleh avatar
no flag
แต่เอกสาร mod_wsgi กล่าวว่าเวอร์ชันของ python ที่คุณชี้ผ่านการตั้งค่าด้านบนควรตรงกับเวอร์ชันที่ mod_wsgi รวบรวมไว้ ดังนั้นจึงไม่ควรทำงานสำหรับการเปลี่ยนเวอร์ชันหลัก / รองของ python ฉันถูกไหม?
Ricky Levi avatar
jp flag
ฉันยังได้รับ `คำสั่งไม่ถูกต้อง 'WSGIPythonHome'' เมื่อฉันตรวจสอบ `apachectl -S`
Ricky Levi avatar
jp flag
@Saleh ในกรณีนั้นบรรทัดคำสั่งให้ python3.9 อย่างไร แต่ Apache ใช้ python3.8 - จะอัพเกรดได้อย่างไร (สำหรับ Apache) เพราะสิ่งนี้ส่งผลต่อ pkgs `pip install` สำหรับการทดสอบที่ฉันกำลังติดตั้งด้วย `3.9` แต่สำหรับ Apache ฉันต้องติดตั้งอีกครั้งสำหรับ `3.8` หรือไม่! ...มีบางอย่างที่ไม่สมเหตุสมผล ( 3.9 ได้รับการติดตั้งด้วย homebrew ในขณะที่ python ทั้งระบบอยู่ใน `/usr/bin`

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา