Score:1

pipenv เป็นสถานที่แยกสำหรับการรันโปรแกรม

ธง cz

ฉันยังใหม่กับระบบปฏิบัติการ Linux และกำลังเรียนรู้โดยใช้ Ubuntu ฉันมาถึงส่วนที่คุณสร้างสภาพแวดล้อมเสมือนจริง ฉันอ่านว่าฉันควรใช้ pipenv แทน venv

เป้าหมายในอุดมคติของฉันในการใช้สภาพแวดล้อมเสมือนจริงคือการสร้างสถานที่ที่แยกจากกันโดยมีความต้องการทั้งหมดของฉันในการเรียกใช้โปรแกรม (ล้างข้อมูลได้อย่างง่ายดายหลังจากที่ฉันไม่ต้องการโปรแกรมอีกต่อไป) แต่สิ่งที่ฉันเรียนรู้คือการใช้ pipenv มีความแตกต่างระหว่างแพ็คเกจ python ที่สามารถ ติดตั้งโดยใช้ pipenv และแพ็คเกจอื่น ๆ เช่น postgreSQL หรือ git ที่ไม่สามารถติดตั้งโดยใช้ pipenv

เท่าที่ฉันรู้แพ็คเกจเหล่านั้นเช่น postgreSQL และ git จะถูกติดตั้งในส่วนกลาง (ทั้งระบบ) และแพ็คเกจ python จะถูกติดตั้งในสภาพแวดล้อมของ pipenv เนื่องจากเป้าหมายในอุดมคติของฉันคือการสร้างสถานที่ที่โดดเดี่ยวพร้อมแพ็คเกจทั้งหมดเพื่อเรียกใช้โปรแกรมบางโปรแกรม มีวิธีที่จะทำให้สิ่งนี้สำเร็จหรือไม่

Raffa avatar
jp flag
โปรดดู [สิ่งนี้](https://askubuntu.com/questions/1347748/how-to-install-latest-version-of-python-3-9-5-on-ubuntu-20-04) และ [สิ่งนี้] (https://askubuntu.com/questions/1321421/how-to-remove-all-traces-of-python-from-ubuntu)
Score:1
ธง cn

ฉันคิดว่าสภาพแวดล้อมเสมือนของ Python (จัดการด้วย venv o pipenv อย่างใดอย่างหนึ่ง) ได้รับการออกแบบมาเพื่อแยกสภาพแวดล้อม Python หนึ่งออกจากอีกสภาพแวดล้อมหนึ่ง นั่นคือ ตรวจสอบให้แน่ใจว่าแอปพลิเคชัน Python ของคุณรันด้วยเวอร์ชันของแพ็คเกจที่ต้องการ และไม่ขัดแย้งกัน กับข้อกำหนดของแอปพลิเคชันอื่น

สิ่งนี้ไม่เกี่ยวข้องกับเครื่องมือระบบที่ไม่ใช่ Python ดังนั้น หากคุณต้องการสร้างสภาพแวดล้อมการทดสอบของคุณเอง ด้วยเวอร์ชันของ git และ postgreSQL เป็นต้น วิธีที่ดีที่สุดคือการสร้าง Virtual Machine (VM) หรือคอนเทนเนอร์ หากคุณยังใหม่กับทั้งสองอย่าง บางที VM อาจเข้าใจและใช้งานได้ง่ายกว่า (เหมือนกับมีพีซีเฉพาะสำหรับการทดลอง)

ที่กล่าวว่าในระบบ Unix เป็นไปได้อย่างแน่นอนที่จะจัดการเครื่องมือเวอร์ชันต่างๆ (เช่น git) ในเครื่องเดียวกัน หากคุณเป็นนักพัฒนาซอฟต์แวร์ คุณอาจต้องการติดตั้งไว้ในเครื่อง (เช่น ภายใต้ ~/local/tool-version) และสร้างสคริปต์การติดตั้งเชลล์ที่เพิ่มเครื่องมือเหล่านั้นลงใน เส้นทางเพื่อให้เชลล์ค้นหาพวกมันแทนระบบ

ตัวอย่างเช่น คุณสามารถสร้างไฟล์เช่น my-git.sh

#!/bin/bash

PATH=~/local/git-1.2.3/bin:$PATH
ส่งออกเส้นทาง

จากนั้นเมื่อคุณต้องการใช้เครื่องมือ คุณสามารถพิมพ์ในเทอร์มินัลของคุณ

$ แหล่งที่มา my-git.sh

และหลังจากนี้ในครั้งต่อไปที่คุณเรียกใช้คอมไพล์ในเชลล์ของคุณ มันจะใช้ไบนารีเข้า ~/local/git-1.2.3/bin (โดยมีเงื่อนไขว่ามีอยู่) แทนระบบหนึ่ง

อย่างไรก็ตาม การตั้งค่าเช่นนี้มีความเกี่ยวข้องมากกว่า และไม่จัดให้มีการแยกการแข่งขัน (เช่น ไลบรารีที่ใช้ร่วมกันยังคงเป็นไลบรารีที่ติดตั้งในระบบของคุณ)

หวังว่านี่จะช่วยได้

โพสต์คำตอบ

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