วิธีการเปิดใช้งาน Virtualenv เมื่อสคริปต์ Python เริ่มทำงาน?


13

ฉันต้องการที่จะกำหนดเวลาหลามสคริปต์เพื่อเรียกใช้ cron ในบางวันปัญหาคือว่าเพื่อให้example.pyการทำงานexample-envจะต้องมีการเปิดใช้งานจะมีวิธีที่จะทำให้การexample.pyเปิดใช้งาน virtualenv ของตัวเองเมื่อใดก็ตามที่ cron ดำเนินการได้หรือไม่

ถ้าไม่เช่นนั้นฉันต้องสร้างสคริปต์ทุบตีbash.shที่มี

#!/usr/bin/env bash
workon example-env
python2 example.py

แล้วกำหนดเวลาที่จะดำเนินการโดย cron ในบางวัน? หรือฉันต้องทำอย่างอื่น?

ทั้งสองวิธีใช้ได้กับฉันฉันแค่อยากรู้วิธีที่ถูกต้องในการทำ บางทีฉันอาจชอบวิธีการทุบตีสคริปต์เนื่องจากฉันมีไฟล์ Python จำนวนมากที่จะทำงานดังนั้นถ้าฉันวางไว้ในสคริปต์ทุบตีและกำหนดเวลานั้นดูเหมือนว่าง่ายกว่าสำหรับฉัน แต่อีกครั้งฉันไม่รู้วิธีที่ถูกต้องที่จะทำ ดังนั้นฉันขอคำแนะนำ


มันมีวิธีที่ "ถูกต้อง"? อาจจะมีวิธีอื่น
ctrl-alt-delor

@ Richard ฉันยินดีที่จะรู้เกี่ยวกับมัน ฉันเพิ่งตั้งคำถามของฉันด้วยวิธีที่มันไม่เคยเกิดขึ้นกับฉันว่าอาจจะมีวิธีที่ดีกว่า แต่ฉันรักการเรียนรู้
Lynob

คำตอบ:


21

คุณก็สามารถเริ่มต้นด้วยเส้นทางที่เต็มไปด้วยexample.pyexample-env/bin/python2

หรืออีกทางหนึ่งเปลี่ยนบรรทัด shebang ของexample.pyto to executable นั้นทำให้ executable file นั้น ( chmod +x example.py) และปล่อย python ออกมาและใช้ path แบบเต็มexample.pyเพื่อเริ่มต้น:

#!/full/path/to/example-env/bin/python2
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.