1

私はこのライブラリを使用してdjangoプロジェクトでlesscssを実行しています: https ://github.com/andreyfedoseev/django-less/

MacとLinuxでは正常に動作しますが、Windowsでエラーが発生し、解決策が見つかりません。

これがdjangoエラーです:

Request Method: GET
Request URL:    localhost:8000
Django Version: 1.4.5
Exception Type: WindowsError
Exception Value:    2 The system cannot find the specified file
Exception Location: C:\Python27\lib\subprocess.py in _execute_child, line 896
Python Executable:  C:\Python27\python.exe
Python Version: 2.7.3
Python Path:    
['C:\\soundgathr\\GemsBand',
 'C:\\Windows\\system32\\python27.zip',
 'C:\\Python27\\DLLs',
 'C:\\Python27\\lib',
 'C:\\Python27\\lib\\plat-win',
 'C:\\Python27\\lib\\lib-tk',
 'C:\\Python27',
 'C:\\Python27\\lib\\site-packages']
Server time:    Fri, 22 Mar 2013 23:42:11 +0100
Error during template rendering

In template C:\soundgathr\GemsBand\static\templates\blocks\head.html, error at line 7

これが私のテンプレートでのlessへの私の呼び出しです:

<link rel="stylesheet" href="{% less "less/common.less" %}" />

と私のsettings.py:

# Less path settings
LESS_OUTPUT_URL = os.path.join(MEDIA_URL, 'LESS_CACHE')
LESS_OUTPUT_DIR = os.path.join(MEDIA_ROOT, 'LESS_CACHE')

繰り返しますが、MacとLinuxでは問題なく動作します。

パスとスラッシュ、バックスラッシュの問題だと思います。何か案は?

4

1 に答える 1

0

django-lessforWindowsには問題があります。サブプロセスを使用してlesscコマンドを呼び出しますが、ここでわかるように、Windowsで機能させるには、 shell=Trueを渡す必要があります。

django-less/utils.pyの次の行を変更してみてください

p = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

p = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
于 2013-03-25T14:53:11.207 に答える