2013-10-20 25 views
7

Tôi chỉ đang thực hiện các bước đầu tiên của mình bằng Celery. Tôi tạo ra một ví dụ nhỏ mà là dựa trên các bước được mô tả tại http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html Khi tôi cố gắng để bắt đầu lao động bằng tay sử dụngBước đầu tiên với Celery bằng cách sử dụng virtualenv

celery -A my_example worker --loglevel=info 

tôi chạy đến một lỗi vì một module từ virtualenv tôi không thể tìm thấy. Virtualenv được kích hoạt và module được cài đặt, vì vậy tôi cho rằng cần tây đang sử dụng trình thông dịch python toàn cầu của tôi. Tôi đã kiểm tra

celery worker --help 

nhưng không tìm thấy thông số nào để chỉ định một thông dịch viên hoặc virtualenv nhất định. Ai đó có thể cho tôi biết làm thế nào để bắt đầu một công nhân thủ công bên trong một virtualenv?

Cập nhật:

Tôi đã cài đặt cần tây trong môi trường toàn cầu python của tôi và trong virtualenv tôi. Tôi đã xóa cả hai và kiểm tra lại rằng cả hai phiên bản đều bị xóa. Sau đó tôi đã cài đặt Celery i virutalenv của mình. Nếu bây giờ tôi gọi là công cụ dòng celery COMAND, nó nhận được lỗi sau:

-bash: /usr/local/bin/celery: No such file or directory 

Đó là vị trí nơi công cụ này sẽ được cài đặt vào, nếu nó sẽ được cài đặt globaly. Celery có hoạt động ở tất cả từ virtualenv không?

+0

điều gì mang lại cho bạn cần tây .__ file__? (project_A) user-164-126-78-15: ~ galuszkak $ python Python 2.7.5 (mặc định, ngày 7 tháng 9 năm 2013, 11:38:54) [GCC 4.2.1 Tương thích Apple LLVM 4.2 (clang- 425,0.28)] trên darwin Nhập "trợ giúp", "bản quyền", "tín dụng" hoặc "giấy phép" để biết thêm thông tin. >>> nhập khẩu cần tây >>> cần tây .__ file__ '/Users/galuszkak/Projects/virtuals/project_A/lib/python2.7/site-packages/celery/__init__.pyc' – galuszkak

+0

Nếu tôi làm điều này từ một tương tác nhắc, tôi nhận được đường dẫn đến phiên bản virtualenv. – Achim

Trả lời

5

Cố gắng sạch cài đặt cần tây trong virtualenv (không cài đặt nó trong phiên dịch hệ thống toàn cầu):

mkdir celery-test 
cd celery-test 
virtualenv-2.7 .python 
source .python/bin/activate 
pip install celery 
celery worker --help 

Nó hoạt động một cách hoàn hảo, mang lại cho tôi which celery:

/home/user/projects/celery-test/.python/bin/celery 

Đúng như dự đoán.

Tôi đề nghị bạn chạy lại phiên đầu cuối (các vấn đề có thể xảy ra với PATH).

Nếu không được, thì bạn có thể kiểm tra biến PATH của bạn để tìm, tại sao cần tây từ virtualenv không hiển thị.

Và nếu không có vấn đề gì với PATH, nhưng sự cố vẫn tiếp diễn, hãy thử tạo lại virtualenv của bạn từ đầu.

EDIT:

Một gợi ý: kiểm tra đầu ra của:

which celery 

Nó phải trỏ đến một số con đường, nhưng cũng có thể nó có thể được aliased như thế:

celery: aliased to /somepath/bin/celery 

Nếu nó thực sự bí danh với một cái gì đó, hơn bạn cần phải kiểm tra ~/.bashrc (~/.zshrc) hoặccủa bạn(~/.zprofile) hoặc thậm chí là nội dung của thư mục /etc/profile.d/*. Bạn cần phải loại bỏ bí danh này.

+2

Có vẻ như đó là PATH. Phiên đầu cuối mới đã giải quyết được sự cố. Nhưng tôi không biết tại sao !? ;-) – Achim

+0

@Achim, vui mừng vì sự cố của bạn đã được giải quyết :) Tôi không biết, vừa đề xuất. Có lẽ một cái gì đó được cài đặt trong phiên giao dịch đầu cuối này là mangling với PATH, vì vậy/usr/local/bin là lúc bắt đầu của PATH. – Waterlink

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