我有一个使用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上,顺便说一句
感谢您的支持, 特拉维斯
答案 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中。