Maven เทียบเท่า python [ปิด]


146

ฉันเป็นผู้พัฒนาจาวา / python และฉันขาดคุณสมบัติ maven โดยเฉพาะการจัดการการพึ่งพาและการสร้างอัตโนมัติ (ฉันหมายถึงคุณไม่ได้สร้าง แต่จะสร้างแพ็คเกจสำหรับการปรับใช้อย่างไร)

มี python ที่เทียบเท่าเพื่อให้บรรลุคุณสมบัติเหล่านี้หรือไม่?
หมายเหตุ: ฉันใช้ python 2.x

ขอบคุณ

คำตอบ:


70

Python ใช้ distutils และ setuptools สำหรับการพึ่งพาและบรรจุภัณฑ์

นี่คือบทแนะนำที่อธิบายพื้นฐาน: http://docs.activestate.com/activepython/3.2/diveintopython3/html/packaging.html

ในระยะสั้นคุณจะมีไฟล์ setup.py ซึ่งมีข้อมูลการพึ่งพาและการรวบรวมสคริปต์ / การติดตั้งและคุณสามารถสร้างไข่, dist tarballs, tar tarballs, ไบนารี tarballs และอื่น ๆ ได้


6
ตั้งแต่อย่างสุดซึ้งไฟฟ้าออกมาร์คแสวงบุญปิดเว็บไซต์ที่นี่เป็นกระจกที่ActiveState
jiggy

2
ฉันขอแนะนำให้อัปเดตสิ่งนี้เพื่อชี้ไปที่คู่มือผู้ใช้ Python Packagingเนื่องจากเป็นคู่มือที่เชื่อถือได้ในขณะนี้
kojiro

38

ไม่มีการจับคู่โดยตรง อย่างไรก็ตามสิ่งที่ใกล้เคียงที่สุดที่คุณจะได้รับ:

  • zc.buildout : มันสามารถติดตั้งสภาพแวดล้อมที่ปิดการดาวน์โหลด / จัดการการอ้างอิงเริ่มต้นสคริปต์ ฯลฯ นอกจากนี้ยังสร้างบนปลั๊กอิน (หรือ "สูตรอาหาร" ตามที่พวกเขาเรียกพวกเขา) ฉันใช้มันเมื่อไม่กี่ปีที่ผ่านมาเมื่ออยู่ในช่วงเบต้าอาจมีการพัฒนาตั้งแต่นั้นมา มีช่วงการเรียนรู้เช่นเดียวกับ Maven แต่ก็มีประสิทธิภาพมากที่สุด

ข้อเสนออื่น ๆ คือส่วนย่อยของ Maven / zc.buildout:

  • Setuptools : การสร้าง / ติดตั้งแพ็คเกจ
  • Pip : การจัดการการพึ่งพา
  • Virtualenv + virtualenvwrapper : การจัดการสภาพแวดล้อมแบบหลาม (สิ่งที่คุณไม่ต้องการด้วย Java)

คุณอาจรู้จัก Ant และ shell scripting ดังนั้นคุณสามารถตรวจสอบเครื่องมือ Python เหล่านี้ได้เช่นกัน:

  • FabricหรือPaver : นักวิ่งภารกิจบรรทัดคำสั่งพร้อมรสชาติเพิ่มเติม มันห่อการประมวลผลบรรทัดคำสั่งดั้งเดิมของคุณในไพ ธ อนและอนุญาตให้จัดการงานต่าง ๆ ในวิธีที่มีประสิทธิภาพมากขึ้น (การอ้างอิงงานการตีความเอาต์พุตการรันคำสั่งในเซิร์ฟเวอร์ระยะไกล ฯลฯ ) โดยพื้นฐานแล้วคุณไม่สามารถทำอะไรกับเชลล์สคริปต์ได้ แต่ในไพ ธ อนมันมีความลับน้อยกว่ามาก

14

ฉันต้องการชี้ให้เห็นPyBuilderซึ่งเป็นแรงบันดาลใจอย่างมากจาก maven แต่ใช้ python แทน XML สำหรับการกำหนดค่าดังนั้นจึงสามารถอ่านได้จริง IMHO

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


9

สำหรับการปรับใช้นอกเหนือจาก distutils / setuptoos ยังดูที่แพ็คเกจ pip (ใช้ setuptools ใต้) มันสามารถย้อนกลับล้มเหลวในการติดตั้งและถอนการติดตั้ง (สิ่งที่ขาดหายไปจาก easy_install / setuptools) นอกจากนี้คุณสามารถระบุการอ้างอิงผ่านไฟล์ข้อความความต้องการ


6

เป็นการดีที่จะใช้ virtualenv เพื่อสร้างสภาพแวดล้อมโครงการแบบสแตนด์อโลนและใช้ pip / easy_install เพื่อการพึ่งพาการจัดการ


7
นั่นเป็นเรื่องน่าเศร้า
:)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.