ฉันทำตามคำตอบของ @Viktor Kerkez และประสบความสำเร็จอย่างมาก ฉันพบว่าบางครั้งสูตรนี้ของ
แพคเกจโครงกระดูก pypi
แพคเกจสร้างแพคเกจ
จะดูเหมือนว่าทุกอย่างทำงานได้ แต่ฉันไม่สามารถนำเข้าแพคเกจได้สำเร็จ เมื่อเร็ว ๆ นี้ฉันถามเกี่ยวกับสิ่งนี้ในกลุ่มผู้ใช้ Anacondaและได้ยินจาก @Travis Oliphant ตัวเองในวิธีที่ดีที่สุดในการใช้ conda เพื่อสร้างและจัดการแพ็คเกจที่ไม่ได้จัดส่งกับ Anaconda คุณสามารถอ่านกระทู้นี้ได้ที่นี่แต่ฉันจะอธิบายวิธีการด้านล่างเพื่อหวังว่าจะได้คำตอบสำหรับคำถามของ OP ที่สมบูรณ์ยิ่งขึ้น ...
ตัวอย่าง: ฉันจะติดตั้งแพ็คเกจ prettyplotlib ที่ยอดเยี่ยมบน Windows โดยใช้ conda 2.2.5
1a) conda build --build-recipe prettyplotlib
คุณจะเห็นข้อความสร้างทั้งหมดดูดีจนกระทั่งส่วนทดสอบสุดท้ายของงานสร้าง ฉันเห็นข้อผิดพลาดนี้
ไฟล์ "C: \ Anaconda \ conda-bld \ test-tmp_dir \ run_test.py", การนำเข้าบรรทัดที่ 23 ไม่มี SyntaxError: ไม่สามารถกำหนดให้กับไม่มีการทดสอบล้มเหลว: prettyplotlib-0.1.3-py27_0
1b)ไปที่ / conda-recipes / prettyplotlib และแก้ไขไฟล์ meta.yaml ปัจจุบันแพ็กเกจที่ถูกตั้งค่าเช่นในขั้นตอนที่ 1a ส่งผลให้ไฟล์ yaml ที่มีข้อผิดพลาดในtest
ส่วน ตัวอย่างเช่นนี่คือวิธีการค้นหาของฉันprettyplotlib
test: # Python imports imports:
-
- prettyplotlib
- prettyplotlib
แก้ไขส่วนนี้เพื่อลบบรรทัดว่างที่นำหน้าด้วย - และยังลบบรรทัด prettyplotlib ที่ซ้ำซ้อน ในช่วงเวลาของการเขียนนี้ฉันพบว่าฉันต้องแก้ไขไฟล์ meta.yaml ส่วนใหญ่เช่นนี้สำหรับแพ็คเกจภายนอกที่ฉันติดตั้งด้วย conda ซึ่งหมายความว่ามีบรรทัดการนำเข้าว่างเปล่าทำให้เกิดข้อผิดพลาดพร้อมกับการนำเข้าซ้ำซ้อนของแพ็คเกจที่กำหนด .
1c)เรียกใช้คำสั่งจาก 1a อีกครั้งซึ่งควรเสร็จสิ้นโดยไม่เกิดข้อผิดพลาด ในตอนท้ายของงานสร้างคุณจะถูกถามว่าคุณต้องการอัปโหลดงานสร้างไปที่binstarหรือไม่ ฉันป้อนไม่แล้วก็เห็นข้อความนี้:
หากคุณต้องการอัปโหลดแพ็คเกจนี้ไปที่ binstar.org ในภายหลังให้พิมพ์:
$ binstar อัปโหลด C: \ Anaconda \ conda-bld \ win-64 \ prettyplotlib-0.1.3-py27_0.tar.bz2
ไฟล์ tar.bz2 นั้นเป็นบิลด์ที่คุณต้องติดตั้งจริง ๆ
2) conda install C:\Anaconda\conda-bld\win-64\prettyplotlib-0.1.3-py27_0.tar.bz2
ทำตามขั้นตอนเหล่านี้ฉันได้ใช้ conda สำเร็จเพื่อติดตั้งแพคเกจจำนวนมากที่ไม่ได้มากับ Anaconda ก่อนหน้านี้ฉันได้ติดตั้งสิ่งเหล่านี้โดยใช้ pip ดังนั้นฉันจึงpip uninstall PACKAGE
ติดตั้ง PACKAGE with conda ก่อน ด้วยการใช้ conda ตอนนี้ฉันสามารถจัดการ (เกือบ) แพ็คเกจทั้งหมดของฉันด้วยวิธีการเดียวแทนที่จะติดตั้งสิ่งต่าง ๆ พร้อมกับ conda, pip, easy_install และการติดตั้ง python setup.py
สำหรับบริบทฉันคิดว่าการโพสต์บล็อกล่าสุดโดย @ Travis Oliphant จะเป็นประโยชน์สำหรับคนอย่างฉันที่ไม่เห็นคุณค่าทุกอย่างที่ไปสู่แพ็คเกจ Python ที่แข็งแกร่ง แต่แน่นอนว่าเมื่อใดก็ตามที่ "เพิ่งใช้งานได้" conda ดูเหมือนจะเป็นหนทางที่ดีในอนาคต ...
pip
ติดตั้งกับเช่นconda
~/anaconda/bin/pip
ใช้ในการติดตั้งแพคเกจที่เป็นconda
สภาพแวดล้อมเช่นเดียวกับที่จะเห็นสหภาพของแพคเกจที่ติดตั้งกับเรื่องนี้และมีการpip
conda install