2012-06-29 13 views
7

ビルドアウトを使用するDjangoプロジェクトがあります。アプリケーションの実行時やデバッグ時には、buildoutスクリプトを使用して正常に動作します。私はまた、私のLESSファイルを圧縮しコンパイルするためにdjango-compressorを使います。私はノードでLESSサーバー側をインストールし、普通の方法でシェルからlesscバイナリにアクセスできます。 django-compressorはlessenコマンドを実行するPopenを実行します。それが実行され、例外がスローされると、/ bin/sh:lessc:コマンドが見つかりません。実行時にDjangoを実行するとCSSが見つかりません

私が/ bin/sh lesscを実行すると、それが検出されます。私がインタラクティブなPythonに落としPopen(['/ bin/sh'、 '-c'、 'lessc'])を実行すると、それが見つけられます。 PyCharmでDjangoを実行するシェルや環境はどのようなものですか?/ etc/pathsや$ HOME/.bashrcなどを読み込むように設定するにはどうすればいいですかlesscは/ etcにある/ usr/local/binにあります/パス。 Djangoのコンプレッサーのドキュメントで指摘したように、私は、Mac OSX 10.7の午前

、任意のサポートのためところで

おかげで、 トラヴィス

答えて

5

、あなたが使用することができます。

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

しかし、おそらく何らかの理由をDjangoはlesscバイナリを見つけることができませんでした。それでは完全な名前で入力してください:

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

私は同じ問題がありました。私は、ターミナルを開いて、私の隣は/ usr/local/binに/ lesscを与えた

$ which lessc 

これを修正するには、Pycharmに私は私のプロジェクトのための実行/デバッグの構成をオープンしました。

Djangoサーバーのドロップダウンでプロジェクトを選択しました。

右の設定ビューで、[環境変数:]フィールドの後に '...'をクリックします。この環境変数ウィンドウで

私は、次のデータを使用して新しい行を追加しました: PATH(名) は/ usr/local/binに(値)

「親環境変数を含める」ことを確認チェックされています。

OK

[OK]をクリックして、[適用]をクリックします /は

運のベスト

を完了します!

+0

2016 thanks bud;) – grokpot

+0

これは機能します。私の親環境にはすでに 'PATH'が含まれていて、' PATH'には '/ usr/local/bin'が含まれていますが、なぜ動作しませんか? – Dozer

+0

私にとっては、それはnvmのインストールパスでした。どうもありがとう :) – ali

1

lesscバイナリが必要です。それを得るにはいくつかの方法があります。個人的に、私は(UbuntuのようなDebianベースのディストリビューション上で)それをインストールするために、非NodeJSメソッドを使用することを好む:

sudo apt-get install node-less yui-compressor

それは、次のいずれかの場所にそれをインストールします。

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

あなたのPATHにすでにあるはずです。

関連する問題