Score:1

วิธีใช้ pipenv เพื่อติดตั้งแอปพลิเคชัน 'ส่วนกลาง' เพื่อเรียกใช้เป็นบริการ

ธง nc

โพสต์ข้ามจาก Stack Overflow เนื่องจากอาจอยู่นอกหัวข้อ

ฉันกำลังพยายามใช้ pipenv เพื่อแจกจ่ายแอปพลิเคชัน Python ไปยังเซิร์ฟเวอร์ (ในกรณีนี้คือ Windows แต่ฉันก็มีความไม่แน่นอนเหมือนกันกับ Linux)

ฉันได้ทำสิ่งต่อไปนี้ก่อนหน้านี้:

  1. ติดตั้ง Python ทั่วทั้งระบบ
  2. pip ติดตั้ง pipenv

แล้ว ติดตั้ง pipenv และ เรียกใช้ pipenv ตามปกติ. นี้มีข้อดี(มั้ง)ที่ผู้ใช้ หรือผู้ใช้บริการอย่างแท้จริง สามารถรันคำสั่งเหล่านี้ได้ เป้าหมายของฉันคือโดยปกติแล้วแอปพลิเคชัน Python จะถูกเรียกใช้เป็นบริการ (โดยใช้ nssm บน Windows) แต่ไม่สามารถเรียกใช้โดยผู้ใช้รายใดก็ได้โดยที่พวกเขาไม่ต้องติดตั้ง pipenv

อย่างไรก็ตาม เอกสารอย่างเป็นทางการแนะนำให้ผู้ใช้ติดตั้ง 'หลีกเลี่ยงการทำลายแพ็คเกจระบบ' pip ติดตั้ง --user pipenv หรือทาง ปิ๊กซ์. ในทั้งสองกรณี ผลลัพธ์คือไบนารีของ pipenv สิ้นสุดในโฟลเดอร์ผู้ใช้ซึ่งต้องเพิ่มไปยัง PATH เว้นแต่คุณต้องการอ้างอิงโดยใช้เส้นทางแบบเต็ม รู้สึกผิดที่มีบริการชี้ไปที่ไบนารีในโฟลเดอร์ส่วนบุคคลของฉัน ผู้ใช้รายอื่นจะต้องติดตั้ง pipenv ของตนเองหรือเพิ่มโฟลเดอร์ของฉันไปยังเส้นทางของพวกเขา ทั้งหมดนี้ดูแปลกมาก แต่บางทีฉันอาจพลาดบางอย่างไป มีบางอย่างผิดปกติกับวิธีการของฉันหรือไม่? มีวิธี 'แนวทางปฏิบัติที่ดีที่สุด' ในการใช้ pipenv สำหรับการปรับใช้หรือไม่

ความสับสนเพิ่มเติม ฉันได้ทดลองกับสิ่งนี้อีกเล็กน้อยและตระหนักว่าแม้เมื่อติดตั้ง pipenv ที่ระดับระบบ "virtualenvs" จะถูกสร้างขึ้นที่ระดับผู้ใช้ อย่างไรก็ตาม ฉันเห็นว่าสิ่งนี้สามารถเปลี่ยนแปลงได้ด้วยตัวแปรสภาพแวดล้อมเพื่อใส่ "virtualenv" ในโครงการ นอกจากนี้ ฉันพบว่าใน Windows ฉันไม่สามารถเรียกใช้ pipenv เพื่อทำงานจากบริการได้ เนื่องจากดูเหมือนจะไม่เปิดใช้งาน virtualenv ฉันต้องสร้างแบตช์ไฟล์ที่เปิดใช้งาน virtualenv และเรียกใช้งาน main.py จากนั้นชี้ NSSM ไปที่นั้น

TLDR: ฉันกำลังมองหาเวิร์กโฟลว์การปรับใช้โดยใช้ pipenv เพื่อให้ซอฟต์แวร์ Python ทำงานเป็นบริการ* ตามหลักการแล้ว ฉันต้องการให้สิ่งนี้ไม่ขึ้นกับแพลตฟอร์ม ดังนั้นฉันจึงสามารถใช้เวิร์กโฟลว์ที่คล้ายกันในเซิร์ฟเวอร์ Windows และ Linux

*บน Windows ฉันต้องการใช้ NSSM เพื่อเรียกใช้บริการบน Linux systemd ฉันมีความสุข (ish) กับเครื่องมือเหล่านี้ เป็น pipenv ที่ทำให้ฉันสับสน

โพสต์คำตอบ

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