سؤال

عندما أقوم بنشر تطبيقاتي التي عملت بشكل جيد باستخدام خادم اختبار Django، أحصل عادة على أخطاء لكل حزمة قمت بتثبيتها باستخدام تثبيت PIP .... # Egg = Foo. عادة ما أفعل ذلك باستخدام VirtualEnv، الذي وضع الملفات في Env / SRC / FOO ويضع ملف آخر في Python / Proide-Packages (هذا مثال على DJANGO-CSS):

DJANGO-CSS.EGG-LINK، والتي تحتوي على الأسطر التالية:

/home/pinax-0.7.1/src/django-css
.

كيف أقول WSGI أنه يجب أن يتبع هذه الروابط، أو أفعل شيئا خاطئا تماما.

شكرا، فيليب فاسيبور

هل كانت مفيدة؟

المحلول

هذا هو ما يشبه برنامج نصي WSGI ل Django في Virtualenv:

import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings'

import site
site.addsitedir('/path/to/virtualenv/lib/python2.6/site-packages')

from django.core.handlers.wsgi import WSGIHandler
application = WSGIHandler()

قليلا قليلا site.addsitedir(...), ، مما يضيف محتويات أي *.pth الملفات في الدليل المحدد ل sys.path. وبعد في هذه الحالة، إنه easy-install.pth ملف أن بيثون يحتاج إلى مساعدة في العثور عليها.

نصائح أخرى

وثائق modwsgi لها ملاحظات على كيفية استخدام virtualenv. وبعد عادة ما يكون بسيطة مثل تعديل الخاص بك django.wsgi (أو أيا كان تسميها) ملف بحيث يضيف بيئة VirtualEnv إلى مسار Modwsgi.

هذا الرابط لديه بعض الإضافي المقطر، ملاحظات على استخدام pip / virtualenv / modwsgi.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top