7

我有一个使用构建的 Django 项目。运行或调试应用程序时,使用我的构建脚本运行良好。我还使用 django-compressor 来压缩和编译我的 LESS 文件。我用 node 安装了 LESS 服务器端,你可以像往常一样从 shell 访问 lessc 二进制文件。django-compressor 运行 Popen 来运行 lessc 命令。当它这样做并抛出异常时:/bin/sh: lessc: command not found.

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

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

感谢您的支持,特拉维斯

4

4 回答 4

11

我遇到过同样的问题。为了解决这个问题,我打开了终端并

$ which lessc

这给了我 /usr/local/bin/lessc

接下来,在 Pycharm 中,我为我的项目打开了运行/调试配置。

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

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

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

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

单击确定 单击应用/确定

完毕

祝你好运!

于 2014-08-19T16:24:30.573 回答
5

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

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

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

COMPRESS_PRECOMPILERS = (
    ('text/less', '/usr/local/bin/lessc {infile} {outfile}'),
)
于 2012-06-29T11:31:12.883 回答
2

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

sudo apt-get install node-less yui-compressor

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

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

其中,应该已经在您的 PATH 中。

于 2015-02-27T20:06:46.120 回答
0

对我来说,通过将其添加到以下内容来解决settings.py

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATICFILES_FINDERS = [
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
    'static_precompiler.finders.StaticPrecompilerFinder',
]

还要确保lessc已安装

which lessc
于 2021-10-05T11:53:46.950 回答