使用Run运行Django无法找到LESS CSS

时间:2012-06-29 08:14:02

标签: python django pycharm

我有一个使用buildout的Django项目。运行或调试应用程序时,使用我的buildout脚本可以正常运行。我还使用django-compressor来压缩和编译我的LESS文件。我在LESS服务器端安装了节点,您可以正常访问shell中的lessc二进制文件。 django-compressor运行Popen来运行lessc命令。当它执行此操作并抛出异常时:/bin/sh: lessc: command not found

如果我运行/ bin / sh lessc它会找到它。如果我进入交互式python并运行P open(['/bin/sh', '-c', 'lessc']),它就会找到它。在PyCharm中运行Django的shell或环境是什么,以及我如何设置它来读取/ etc / paths或$ HOME / .bashrc等.minoc位于/ etc / local / bin中/ etc /路径。

我在Mac OSX 10.7上,顺便说一句

感谢您的支持, 特拉维斯

3 个答案:

答案 0 :(得分:10)

我有同样的问题。为了解决这个问题,我打开了终端和

$ which lessc

给了我/ usr / local / bin / lessc

接下来,在Pycharm中,我为我的项目打开了Run / Debug配置。

在Django服务器下拉菜单中,我选择了我的项目。

在右侧的配置视图中,单击“环境变量:”字段后面的“...”。

在此环境变量窗口中,我添加了一个包含以下数据的新行: 路径(名称) / usr / local / bin(值)

确保选中“包含父环境变量”。

单击“确定” 单击“应用/确定”

完成

祝你好运!

答案 1 :(得分:5)

正如Django压缩文档中所指出的,您可以使用:

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

但可能由于某种原因,Django找不到lessc二进制文件。那么只需输入全名:

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

答案 2 :(得分:2)

您需要lessc二进制文件。有几种不同的方式来获得它。就个人而言,我更喜欢使用非NodeJS方法来安装它(在基于Debian的发行版上,比如Ubuntu):

sudo apt-get install node-less yui-compressor

它会将其安装到以下位置之一:

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

哪个,应该在你的PATH中。