แนวคิดที่อยู่เบื้องหลังไฟล์เหล่านี้นั้นเรียบง่ายและคล้ายคลึงกับเครื่องมืออื่น ๆ ที่มีอยู่แล้วถ้าคุณมีความคุ้นเคยกับ Ruby Bundler หรือ Npm's Npm Pipenv
เป็นทั้งแพคเกจและเครื่องมือการจัดการสภาพแวดล้อมเสมือนจริงที่ใช้ไฟล์ Pipfile และ Pipfile.lock เพื่อให้บรรลุเป้าหมายเหล่านี้
Pipenv จัดการกับสภาพแวดล้อมเสมือนจริงสำหรับคุณด้วยวิธีมาตรฐานเริ่มต้นเดียว (ไม่ต้องเปิดใช้งานและปิดการใช้งานอีกต่อไป) ด้านล่างนี้พื้นฐานบางอย่างให้คุณเริ่มต้นดูเพิ่มเติมได้ที่เว็บไซต์ pipenv
เริ่มต้นใช้งาน
เริ่มใช้ pipenv เป็นเรื่องง่ายในประเภทโฟลเดอร์โครงการของคุณ ...
$ pipenv install
... และหากมีrequirements.txt
ไฟล์อยู่แล้วไฟล์จะสร้างPipfile
ไฟล์ที่มีข้อกำหนดและโฟลเดอร์สภาพแวดล้อมเสมือนมิฉะนั้นจะสร้างไฟล์ว่างPipfile
ไฟล์หากคุณไม่ชอบหรือเปลี่ยนใจเกี่ยวกับสิ่งที่คุณติดตั้งเพียงพิมพ์ ...
$ pipenv uninstall <package>
... และคุณก็พร้อมที่จะไป หากต้องการเปิดใช้งานสภาพแวดล้อมเสมือนจริงที่ pipenv สร้างขึ้นแล้วไปที่ ...
$ pipenv shell
... และสภาพแวดล้อมเสมือนของคุณจะถูกเปิดใช้งาน ออกจากสิ่งแวดล้อม ...
$ exit
... และคุณจะกลับไปที่เซสชันเทอร์มินัลดั้งเดิมของคุณ
Pipfile
Pipfileไฟล์มีวัตถุประสงค์เพื่อระบุข้อกำหนดแพคเกจสำหรับการประยุกต์ใช้งูหลามหรือห้องสมุดของคุณทั้งสองไปสู่การพัฒนาและการดำเนินการ คุณสามารถติดตั้งแพ็คเกจโดยใช้ ...
$ pipenv install flask
... และมันจะถูกเพิ่มเป็นการอ้างอิงสำหรับการปรับใช้และการดำเนินการหรือโดยใช้ ...
$ pipenv install --dev pytest
... และมันจะถูกใช้เป็นตัวแทนสำหรับเวลาในการพัฒนา ไวยากรณ์ของไฟล์ค่อนข้างตรงไปตรงมาดังต่อไปนี้
[[source]] # Here goes your package sources (where you are downloading your packages from).
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"
[packages] # Here goes your package requirements for running the application and its versions (which packages you will use when running the application).
requests = "*"
flask = "*"
pandas = "*"
[dev-packages] # Here goes your package requirements for developing the application and its versions (which packaes you will use when developing the application)
pylint = "*"
wheel = "*"
[requires] # Here goes your required Python version.
python_version = "3.6"
Pipfile.lock
Pipfile.lockมีวัตถุประสงค์เพื่อระบุขึ้นอยู่กับแพคเกจที่อยู่ในPipfileซึ่งรุ่นที่เฉพาะเจาะจงของผู้ที่ควรจะใช้ในการหลีกเลี่ยงความเสี่ยงของแพคเกจการอัพเกรดโดยอัตโนมัติว่าขึ้นอยู่กับแต่ละอื่น ๆ และทำลายต้นไม้พึ่งพาโครงการของคุณ
คุณสามารถล็อคแพ็คเกจที่ติดตั้งในปัจจุบันได้โดยใช้ ...
$ pipenv lock
... และเครื่องมือจะค้นหาโฟลเดอร์สภาพแวดล้อมเสมือนของคุณเพื่อสร้างไฟล์ล็อคให้คุณโดยอัตโนมัติตามรุ่นที่ติดตั้งในปัจจุบัน ไวยากรณ์ของไฟล์ไม่ชัดเจนเท่ากับPipfileดังนั้นเพื่อความรัดกุมมันจะไม่แสดงที่นี่
Gemfile
และGemfile.lock
จากโลกรูบี:.lock
ไฟล์นี้มีเวอร์ชันเฉพาะสำหรับการพึ่งพาแต่ละครั้ง ส่วนที่ไม่มีส่วนขยายนั้นจะมีเฉพาะรุ่นที่รู้จักกันเพื่อการควบคุม ที่กล่าวว่าการขอคำอธิบายเกี่ยวกับบางสิ่งที่ยังคงพัฒนาอยู่และไกลออกไปจากการถูกกำหนดอย่างดีมาตรฐานที่น้อยกว่าอาจจะเป็นบิตก่อนวัยอันควร