2012-06-29 7 views
7

Tôi có một dự án Django sử dụng buildout. Khi chạy hoặc gỡ lỗi ứng dụng, nó chạy tốt bằng cách sử dụng kịch bản lệnh xây dựng của tôi. Tôi cũng sử dụng máy nén django để nén và biên dịch các tệp LESS của tôi. Tôi đã cài đặt phía máy chủ LESS với nút và bạn có thể truy cập nhị phân lessc từ trình bao như bình thường. django-compressor chạy Popen để chạy lệnh lessc. Khi nó làm điều này và ngoại lệ được ném:/bin/sh: lessc: lệnh không tìm thấy.Chạy Django với Chạy không thể tìm thấy CSS LESS

Nếu tôi chạy/bin/sh lessc thì sẽ tìm thấy nó. Nếu tôi rơi vào python tương tác và chạy Popen (['/ bin/sh', '-c', 'lessc']) nó tìm thấy nó. Shell hoặc môi trường nào đang chạy Django trong PyCharm sử dụng và làm thế nào tôi có thể thiết lập nó để đọc hoặc là/etc/paths hoặc $ HOME/.bashrc, vv lessc được đặt tại/usr/local/bin trong/etc/path.

Tôi đang trên Mac OSX 10.7, btw

Thanks cho bất kỳ hỗ trợ, Travis

Trả lời

5

Như đã chỉ trong tài liệu nén Django, bạn có thể sử dụng:

COMPRESS_PRECOMPILERS = (
    ('text/less', 'lessc {infile} {outfile}'), 
) 

Nhưng có lẽ vì một lý do Django không thể tìm thấy nhị phân lessc. Vì vậy, sau đó chỉ cần nhập nó với tên đầy đủ của nó:

COMPRESS_PRECOMPILERS = (
    ('text/less', '/usr/local/bin/lessc {infile} {outfile}'), 
) 
9

Tôi có cùng một vấn đề. Để sửa lỗi này tôi mở terminal và

$ which lessc 

đó đã cho tôi/usr/local/bin/lessc

tiếp theo, trong Pycharm tôi mở các cấu hình/Debug Run cho dự án của tôi.

Trong trình đơn thả xuống máy chủ Django, tôi đã chọn dự án của mình.

Trong chế độ xem cấu hình, nhấp chuột phải vào '...' sau trường 'Biến môi trường:'.

Trong cửa sổ Environment Variables này tôi đã thêm một dòng mới với các dữ liệu sau: PATH (tên) /usr/local/bin (giá trị)

Đảm bảo "Bao gồm các biến môi trường mẹ" được chọn.

Bấm OK Bấm Apply/OK

Xong

Best of luck!

+0

2016 cảm ơn nụ;) – grokpot

+0

Nó hoạt động!Môi trường cha mẹ của tôi đã chứa 'PATH' và' PATH' chứa '/ usr/local/bin', tại sao không hoạt động? – Dozer

+0

Đối với tôi, đó là đường dẫn cài đặt nvm. Cảm ơn rất nhiều :) – ali

1

Bạn cần mã nhị phân lessc. Có một vài cách khác nhau để có được nó. Cá nhân, tôi thích sử dụng phương pháp phi NodeJS để cài đặt nó (trên distro Debian-based, như Ubuntu):

sudo apt-get install node-less yui-compressor

Nó sẽ cài đặt nó thành một trong những địa điểm sau:

/usr/local/bin/lessc 
/usr/bin/lessc 

Mà, nên ở trong PATH của bạn rồi.