2012-11-14 20 views
6

Hệ thống của tôi (ubuntu) có phiên bản 2.6.5 python (được cài đặt toàn cục trong/usr/bin /).
Tôi muốn sử dụng python 2.7.3.
Đối với điều này, tôi đã thử tạo virtualenv bằng câu trả lời này Is it possible to install another version of Python to Virtualenv? (không thực hiện bất kỳ liên kết nào từ câu trả lời). Tôi đã thành công trong việc này và khi tôi kích hoạt env và sử dụng 'python manage.py shell' nó hoạt động rất tốt.uwsgi - không sử dụng python2.7.3 từ virtualenv, nhưng sử dụng 2.6 từ venv mặc dù chỉ được cài đặt 2.6 trên toàn cầu

Sự cố là: Chúng tôi sử dụng uwsgi cho máy chủ đang chạy. Đến nay, chúng tôi đang trực tiếp sử dụng hệ thống trăn rộng (2.6.5). Vì tôi đã cài đặt mọi thứ mới trong virtualenv, tôi đã thêm tùy chọn

'-H /path/to/virtualenv' 

trong khi chạy máy chủ uwsgi.

Tôi gặp lỗi "không có mô-đun có tên 'os'" trong khi thực thi dòng "os nhập". (Đã tìm thấy lỗi từ nhật ký lỗi)

Vì vậy, tôi đã thêm sys nhập; in lệnh sys.path trước lệnh 'os nhập'. Sau đó, khi nó được in con đường, nó có cái gì như:

/home/name/venv/bin/python/lib/python2.6/ #(one of the items in the array sys.path) 

Nhưng, khi tôi nhìn vào thư mục venv của tôi, có gì giống như python2.6 trong thư mục 'lib' là. , thư mục lib của tôi của venv chỉ chứa 'python2.7'.

Yêu cầu của tôi là, uwsgi nên sử dụng python 2.7 (của venv), chứ không phải 2.6 (toàn cầu).

Ngoài ra, trong tệp sh của tôi, tôi đã sử dụng lệnh 'mà python' cho tôi thấy rằng nó đang sử dụng phiên bản toàn cầu. Vì vậy, tôi phải nói với tệp shell trước để sử dụng python từ virtualenv, không phải là tệp toàn cục mặc định. Tôi đã thử 'nguồn/đường dẫn/đến/kích hoạt' nhưng lệnh không tìm thấy.

+1

Bạn đã cài đặt uwsgi trong virtualenv chưa? – jpic

+0

không, làm điều đó ngay bây giờ – user1767962

+1

Hãy thử chạy một trong những bạn đã cài đặt trong virtualenv, điều này làm việc cho tôi. – jpic

Trả lời

9
  1. Kích hoạt virtualenv,
  2. Install uwsgi: pip install uwsgi
  3. Run uwsgi từ virtualenv.
+1

Chỉ trong trường hợp, _running_ uwsgi không yêu cầu virtualenv được kích hoạt, đây chỉ là lần đầu tiên cần cài đặt nó. –

Các vấn đề liên quan