พบสิ่งนี้บน Ubuntu 21.10 (impish) เพราะฉันเบื่อเส้นทางการติดตั้งโดยคิดว่า pgadmin4 ไม่ได้ติดตั้งอย่างสมบูรณ์เมื่อเป็นเช่นนั้น
ข้อผิดพลาดเป็นเพราะสมมติว่ามีการติดตั้ง python3.8 (21.10 มาพร้อมกับ python3.9) แต่มันไม่ใช่ ดังนั้น symlink และ virtual env ทั้งหมดจึงล้มเหลว แต่สิ่งนี้เกิดขึ้นเนื่องจากคุณได้ติดตั้ง pgadmin4 เวอร์ชันที่ไม่ตรงกับเวอร์ชัน Ubuntu ของคุณ
garrett@garrett-external:/etc/apt/sources.list.d$ ls
deadsnakes-ubuntu-ppa-impish.list pgadmin4.list.save pgdg.list.save
pgadmin4.list pgdg.list
## ดูที่ pgadmin4.list.save ฉันเห็นว่าฉันพยายามใช้อย่างน้อย
# repo ของ hirsute:
garrett@garrett-external:/etc/apt/sources.list.d$ cat pgadmin4.list.save
deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/hirsute pgadmin4 หลัก
## ฉันคิดว่านี่เป็นการแทนที่ repos impish ที่ถูกต้อง ดังนั้นฉันจะ
# ลองลบไฟล์นั้น ล้างการติดตั้งและติดตั้งใหม่:
garrett@garrett-external:/etc/apt/sources.list.d$ ls
deadsnakes-ubuntu-ppa-impish.list pgadmin4.list pgadmin4.list.save pgdg.list pgdg.list.save
garrett@garrett-external:/etc/apt/sources.list.d$ sudo rm pgadmin4.list.save
## ตรวจสอบอีกครั้งว่าแหล่งที่มาของ pgadmin4 ถูกต้อง...
garrett@garrett-external:/etc/apt/sources.list.d$ ls
deadsnakes-ubuntu-ppa-impish.list pgadmin4.list pgdg.list pgdg.list.save
garrett@garrett-external:/etc/apt/sources.list.d$ cat pgadmin4.list
deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/focal pgadmin4 หลัก
##^ตกลงปัญหาแน่นอน...ควรแก้ไขที่....
garrett@garrett-external:/etc/apt/sources.list.d$ sudo sed -i 's/focal/impish/g' /etc/apt/sources.list.d/pgadmin4.list
garrett@garrett-external:/etc/apt/sources.list.d$ cat ./pgadmin4.list
deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/impish pgadmin4 หลัก
##ถอนการติดตั้ง pgadmin4
garrett@garrett-external:/etc/apt/sources.list.d$ sudo apt purge pgadmin4
garrett@garrett-external:/etc/apt/sources.list.d$ sudo apt autoremove
## ติดตั้ง pgadmin4 ใหม่
garrett@garrett-external:/etc/apt/sources.list.d$ sudo apt update && sudo apt install pgadmin4
และตอนนี้ก็ใช้งานได้ดี
แก้ไข: อย่าลงไปที่โพรงกระต่ายด้านล่าง
วิธีแก้ปัญหา: ติดตั้ง python3.8 ด้วยตนเองโดยใช้ Deadsnakes PPA และเคล็ดลับการอัปเดต apt cache ชั่วคราว
#ก่อนอื่นเพิ่มdeadsnakes ppa...
$ sudo add-apt-repository ppa:deadsnakes
# ตามลิ้ง https://brennan.io/2021/06/21/deadsnakes-hirsute/ ,
# อัปเดต repos แอปของ deadsnakes ppa เพื่อดู LTS 2 เวอร์ชันที่ผ่านมา
$ sudo vim /etc/apt/sources.list.d/deadsnakes-ubuntu-ppa-impish.list
---> การเปลี่ยนแปลง
'deb http://ppa.launchpad.net/deadsnakes/ppa/ubuntu/ impish main' เป็น
'deb http://ppa.launchpad.net/deadsnakes/ppa/ubuntu/ bionic main' เพิ่มด้วย
'deb http://ppa.launchpad.net/deadsnakes/ppa/ubuntu/ โฟกัสหลัก'
#เพิ่มกฎต่อไปนี้ซึ่งขึ้นบัญชีดำทุกแพ็คเกจ
# repos จากนั้นเลือกเปิดใช้งานเวอร์ชัน Python จากเวอร์ชันที่ถูกต้อง
# สถานที่ สามารถใส่ในชื่อไฟล์ใดก็ได้ภายในไดเร็กทอรี
# /etc/apt/preferences.d/ (ฉันตั้งชื่อของฉันว่า deadsnakes_pref)
คำอธิบาย: ป้องกันการติดตั้งจาก repo ของ deadsnakes
บรรจุุภัณฑ์: *
พิน: ปล่อย o=LP-PPA-deadsnakes
ลำดับความสำคัญของพิน: 1
คำอธิบาย: อนุญาตให้ติดตั้ง python 3.{6,7} จาก deadsnakes/focal
แพ็คเกจ: *python3.6* *python3.7*
พิน: ปล่อย o=LP-PPA-deadsnakes,n=focal
ลำดับความสำคัญของพิน: 500
คำอธิบาย: อนุญาตให้ติดตั้ง python 3.8 จาก deadsnakes/bionic
แพ็คเกจ: *python3.8*
พิน: ปล่อย o=LP-PPA-deadsnakes,n=bionic
ลำดับความสำคัญของพิน: 500
## เปลี่ยนแหล่งที่มาทั้งหมดของคุณชั่วคราวเป็นไบโอนิค ดังนั้น python3.8
#จะได้มีที่พึ่ง
$ sudo sed -i 's/impish/bionic/g' /etc/apt/sources.list
## ลองอัปเดต apt cache และติดตั้ง python3.8 คุณจะได้รับการตะโกน
# สำหรับไม่มีพวงกุญแจที่เหมาะสม:
****************
W: ข้อผิดพลาด GPG: http://us.archive.ubuntu.com/ubuntu bionic InRelease: ไม่สามารถตรวจสอบลายเซ็นต่อไปนี้ได้เนื่องจากรหัสสาธารณะไม่พร้อมใช้งาน: NO_PUBKEY 3B4FE6ACC0B21F32
E: ที่เก็บ 'http://us.archive.ubuntu.com/ubuntu bionic InRelease' ไม่ได้ลงนาม
N: การอัปเดตจากที่เก็บดังกล่าวไม่สามารถทำได้อย่างปลอดภัย ดังนั้นจึงถูกปิดใช้งานตามค่าเริ่มต้น
N: ดู apt-secure(8) manpage สำหรับการสร้างที่เก็บและรายละเอียดการกำหนดค่าผู้ใช้
****************
##จึงตามมา
## https://askubuntu.com/questions/13065/how-do-i-fix-the-gpg-error-no-pubkey
## , ฉันเพิ่มรหัส
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
#ตอนนี้มันควรจะทำงาน
$ sudo apt อัปเดต && sudo apt ติดตั้ง python3.8
#เสร็จแล้วอย่าลืมเปลี่ยนกลับที่มาด้วยนะครับ
$ sudo sed -i 's/bionic/impish/g' /etc/apt/sources.list
$ sudo apt ปรับปรุง
#และตอนนี้ pgadmin4 ควรใช้งานได้ หากคุณต้องการเรียกใช้จากเทอร์มินัล
# เพิ่มบรรทัดนี้ในไฟล์ ~/.bash_aliases ของคุณ:
นามแฝง pgadmin4='/usr/pgadmin4/bin/pgadmin4'