CKAN Development Install Issue: AttributeError: объект 'module' не имеет атрибута 'css/main.debug.css'

Я сделал установку разработки CKAN и запускаю debug = true в файле development.ini. При посещении localhost: 5000 Я получаю сообщение об ошибке с трассировкой, конечной точкой которой является ошибка:

AttributeError: 'module' object has no attribute 'css/main.debug.css'

Вызывается вызовом в lib/helpers.py:

r = getattr(fanstatic_resources, resource)

Любая идея, что я делаю неправильно, и что я могу сделать, чтобы исправить эту ошибку.

Ответы

Ответ 1

Вам нужно запустить less script из каталога bin в исходном коде CKAN для создания файла main.debug.css. Существует некоторая документация об этом, но она еще не интегрирована с остальными документами CKAN (т.е. Там нет ссылки на нее, у нас есть билет, чтобы исправить это).

Это работает на Ubuntu 12.04, вам может потребоваться активировать ваш virtualenv, когда вы это сделаете:

sudo apt-get install nodejs npm
npm install less nodewatch
./bin/less # Assuming you're in your ckan dir e.g. `~/pyenv/src/ckan`

Теперь перезапустите команду paster serve development.ini, и она должна работать.

Вообще говоря, всякий раз, когда вы запускаете CKAN 2.0 для разработки, вы должны:

  • У вас debug = True в вашем ini файле
  • У вас ./bin/less работает в терминале все время

Ответ 2

Обратите внимание, что apt-get install nodejs устанавливает nodejs и NOT node в /usr/bin, по крайней мере, в Ubuntu 12.10 (я не проверял другие дистрибутивы). Это вызывает ошибки, так как ckan/bin/less, а также ckan/node_modules/less/bin/lessc вызывают node. Поэтому либо создайте softlink в /usr/bin, либо измените скрипты (#!/usr/bin/env nodejs).

Ответ 3

У меня появилось несколько ошибок при установке пакетов. Ниже приведено решение (согласно официальным документам CKAN) для нетерпения:

cp /usr/lib/ckan/default/src/ckan/ckan/public/base/css/main.css /usr/lib/ckan/default/src/ckan/ckan/public/base/css/main.debug.css

Ответ 4

Я использую ubuntu 12.04 и испытываю некоторые проблемы с этим

Получалась эта ошибка после следующих ответов Шона и выполнения

npm install less nodewatch

и получил эту ошибку:

(default)[email protected]:/# npm install less nodewatch
npm http GET https://registry.npmjs.org/less
npm http GET https://registry.npmjs.org/nodewatch
npm ERR! Error: failed to fetch from registry: less
npm ERR!     at /usr/share/npm/lib/utils/npm-registry-client/get.js:139:12
npm ERR!     at cb (/usr/share/npm/lib/utils/npm-registry-client/request.js:31:9)
npm ERR!     at Request._callback (/usr/share/npm/lib/utils/npm-registry-client/request.js:136:18)
npm ERR!     at Request.callback (/usr/lib/nodejs/request/main.js:119:22)
npm ERR!     at Request.<anonymous> (/usr/lib/nodejs/request/main.js:212:58)
npm ERR!     at Request.emit (events.js:88:20)
npm ERR!     at ClientRequest.<anonymous> (/usr/lib/nodejs/request/main.js:412:12)
npm ERR!     at ClientRequest.emit (events.js:67:17)
npm ERR!     at HTTPParser.onIncoming (http.js:1261:11)
npm ERR!     at HTTPParser.onHeadersComplete (http.js:102:31)
npm ERR! You may report this log at:
npm ERR!     <http://bugs.debian.org/npm>
npm ERR! or use
npm ERR!     reportbug --attach /npm-debug.log npm
npm ERR! 
npm ERR! System Linux 3.8.0-29-generic
npm ERR! command "node" "/usr/bin/npm" "install" "less" "nodewatch"
npm ERR! cwd /
npm ERR! node -v v0.6.12
npm ERR! npm -v 1.1.4
npm ERR! message failed to fetch from registry: less
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /npm-debug.log
npm not ok

Нашел еще один поток, который объясняет это, и предлагает решение для выполнения

npm config set registry http://registry.npmjs.org/

Однако после выполнения указанной выше команды я получаю эту ошибку:

(default)[email protected]:/# npm config set registry http://registry.npmjs.org/
(default)[email protected]:/# npm install less nodewatch
npm http GET http://registry.npmjs.org/less
npm http GET http://registry.npmjs.org/nodewatch
npm http 200 http://registry.npmjs.org/less
npm http GET http://registry.npmjs.org/less/-/less-1.6.3.tgz
npm http 200 http://registry.npmjs.org/nodewatch
npm http GET http://registry.npmjs.org/nodewatch/-/nodewatch-0.3.1.tgz
npm http 200 http://registry.npmjs.org/less/-/less-1.6.3.tgz
npm http 200 http://registry.npmjs.org/nodewatch/-/nodewatch-0.3.1.tgz
npm http GET http://registry.npmjs.org/mime
npm http GET http://registry.npmjs.org/request
npm http GET http://registry.npmjs.org/mkdirp
npm http GET http://registry.npmjs.org/clean-css
npm http GET http://registry.npmjs.org/source-map
npm http 200 http://registry.npmjs.org/request
npm http GET http://registry.npmjs.org/request/-/request-2.33.0.tgz
npm http 200 http://registry.npmjs.org/request/-/request-2.33.0.tgz
npm http 200 http://registry.npmjs.org/mime
npm http GET http://registry.npmjs.org/mime/-/mime-1.2.11.tgz
npm http 200 http://registry.npmjs.org/mkdirp
npm http 200 http://registry.npmjs.org/clean-css
npm http GET http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz
npm WARN optional dependency failed, continuing [email protected]
npm http 200 http://registry.npmjs.org/source-map
npm http 200 http://registry.npmjs.org/mime/-/mime-1.2.11.tgz
npm http GET http://registry.npmjs.org/source-map/-/source-map-0.1.3.tgz
npm http 200 http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz
npm http 200 http://registry.npmjs.org/source-map/-/source-map-0.1.3.tgz
npm ERR! error installing [email protected]
npm ERR! error rolling back [email protected] Error: UNKNOWN, unknown error '/node_modules/less'

npm ERR! Unsupported
npm ERR! Not compatible with your version of node/npm: [email protected]
npm ERR! Required: ["node >= 0.8.0"]
npm ERR! Actual:   {"npm":"1.1.4","node":"0.6.12"}
npm ERR! 
npm ERR! System Linux 3.8.0-29-generic
npm ERR! command "node" "/usr/bin/npm" "install" "less" "nodewatch"
npm ERR! cwd /
npm ERR! node -v v0.6.12
npm ERR! npm -v 1.1.4
npm ERR! code ENOTSUP
npm ERR! message Unsupported
npm ERR! errno {}
npm http GET http://registry.npmjs.org/requirejs/0.26.0
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /npm-debug.log
npm not ok

Похоже, что версия несовместима или это может быть проблемой с node и node.js?

Cheers, Шао