Xin chào Đây là một câu hỏi cũ, nhưng thấy nó không được trả lời. Không chắc chắn những gì bạn đang cố gắng để làm, nhưng về cơ bản có hai chế độ bạn có thể sử dụng virtualenv,
- Đối với phát triển, để tạo ra môi trường khép kín
- Đối với việc triển khai, để tạo ra môi trường khép kín
Trong trường hợp đầu tiên, trước tiên bạn cần kích hoạt virtualenv của bạn với venv/bin/activation nguồn, khi bạn triển khai, bạn cần đảm bảo rằng virtualenv được kích hoạt cho mã trang web của bạn. Cá nhân tôi thích cách tiếp cận sau để đảm bảo đường dẫn của bạn được đặt chính xác. (Tôi cũng thêm video này vào manage.py của tôi khi thực hiện phát triển, vì vậy tôi không phải lo lắng về kích hoạt môi trường đầu tiên.
Modified manage.py
#!/usr/bin/env python
import os.path
# Cater for Virtual env, add to sys.path
pwd = os.path.abspath(os.path.dirname(__file__))
project = os.path.basename(pwd)
new_path = pwd.strip(project)
activate_this = os.path.join(new_path,'venv','bin','activate_this.py')
execfile(activate_this, dict(__file__=activate_this))
from django.core.management import execute_manager
try:
import settings # Assumed to be in the same directory.
except ImportError:
import sys
sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r. It appears you've customized things.\nYou'll have to run django-admin.py, passing it your settings module.\n(If the file settings.py does indeed exist, it's causing an ImportError somehow.)\n" % __file__)
sys.exit(1)
if __name__ == "__main__":
execute_manager(settings)
này hoạt động, do làm thế nào tôi cấu trúc của tôi dự án, bạn sẽ phải thay đổi nó để cấu trúc thư mục của bạn dự án của tôi được cấu trúc như sau:.
TopLevelDir
|
|- Project DIR
|- venv
|- requirements
|- deployment configs
là gì dòng ở trên cùng của manage.py mà bạn đang chạy? Các lệnh chính xác mà bạn sử dụng để chạy trình thông dịch tương tác Python và manage.py khi virtualenv của bạn được kích hoạt là gì? –