मैं अजगर आवेदन विकसित करता हूं जिसे मैंने पैकेज में easy_install
या pip
द्वारा स्थापित करने का निर्णय लिया है। मैंने पाइथन पैकेज के लिए निर्देशिका संरचना के बारे में कई अच्छे स्रोत खोजने के लिए खोज का उपयोग किया है this answer या this post देखें।पायथन पैकेज में स्क्रिप्ट
मैं बनाया संरचना निम्नलिखित
Project/ |-- bin/ |-- my_package/ | |-- test/ | | |-- __init__.py | | |-- test_server.py | |-- __init__.py | |-- server.py | |-- util.py |-- doc/ | |-- index.rst |-- README.txt |-- LICENSE.txt |-- setup.py
उसके बाद मैं निष्पादन स्क्रिप्ट server-run
#!/usr/bin/env python from my_package import server server.main()
जो मैं में रखा बनाया (मैं कई फ़ाइलों की सूची में Strcture अधिक स्पष्ट हो बनाने के लिए हटा दिया है) bin
निर्देशिका। अगर मैं python setup.py install
के साथ अपना पैकेज इंस्टॉल करता हूं या pip/easy_install
के माध्यम से सब ठीक काम करता है, तो मैं server-run
चला सकता हूं और मेरा सर्वर इनकमिंग अनुरोधों को संभालने लगता है।
लेकिन मेरे सवाल (my_package
की पूर्व स्थापना के बिना ) विकास के वातावरण में है कि server-run
काम करता है परीक्षण करने के लिए कैसे है? इसके अलावा मैं dev स्क्रिप्ट के लिए नवीनतम सर्वर कोड चलाने के लिए इस स्क्रिप्ट का उपयोग करना चाहता हूं।
विकास Project
निर्देशिका में होता है तो मैं ImportError
हो रही है अगर मैं ./bin/server-run
[email protected]:~/dev/Project/$ ./bin/server-run Traceback (most recent call last): File "./bin/server-run", line 2, in import my_package ImportError: No module named my_package
क्या यह संभव है चलाने अगर मैं जरूरी फाइल सिस्टम में कहीं किसी अन्य फ़ोल्डर से चलाने (नहीं तो यह काम करेंगे bin/server-run
स्क्रिप्ट को संशोधित करने के लिए Project
डीआईआर से)? यह भी ध्यान रखें कि मैं उत्पादन वातावरण में सर्वर चलाने के लिए एक ही स्क्रिप्ट (यदि हासिल करना संभव है) का उपयोग करना चाहता हूं।
लेकिन अगर मैं इस कोड का उपयोग 'सर्वर-run' पैकेज स्थापना के बाद काम नहीं करेगा। – Alik
पहले सामान्य संस्करण को आजमाने के तरीके के साथ अपडेट किया गया। – agf
हू। मैं ImportException के बारे में भूल गया :) धन्यवाद! – Alik