0

バージョン 0.11 にはなかったクロスバー 0.12.1 を起動するとエラーが発生します

[Controller 210] crossbar.error.invalid_configuration: 
WSGI app module 'myproject.wsgi' import failed: No module named django - 
Python search path was [u'/myproject', '/opt/crossbar/site-packages/crossbar/worker', '/opt/crossbar/bin', '/opt/crossbar/lib_pypy/extensions', '/opt/crossbar/lib_pypy', '/opt/crossbar/lib-python/2.7', '/opt/crossbar/lib-python/2.7/lib-tk', '/opt/crossbar/lib-python/2.7/plat-linux2', '/opt/crossbar/site-packages']

クロスバーが更新するもの以外は何も変更していません。

私の config.json はまだ同じで、私のプロジェクトの pythonpath がオプション内にあります:

  {
     "workers": [
        {
           "type": "router",
           "options": {
               "pythonpath": ["/myproject"]
           },
           "realms": [
              {
                 "name": "realm1",
                 "roles": [
                    {
                       "name": "anonymous",
                       "permissions": [
                          {
                             "uri": "*",
                             "publish": true,
                             "subscribe": true,
                             "call": true,
                             "register": true
                          }
                       ]
                    }
                 ]
              }
           ],
           "transports": [
              {
                 "type": "web",
                 "endpoint": {
                    "type": "tcp",
                    "port": 80
                 },
                 "paths": {
                    "/": {
                       "type": "wsgi",
                       "module": "myproject.wsgi",
                       "object": "application"
                    },
etc...

アイデアはありますか?ありがとう。

4

2 に答える 2

0

クリーンな環境を実現するために、Docker を使用しています。ここの Dockerfile : http://crossbar.io/docs/Installation-on-Docker/が壊れているようです:

ImportError: No module named setuptools_ext

----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /tmp/pip-build-VfPnRU/pynacl
Storing debug log for failure in /root/.pip/pip.log
The command '/bin/sh -c pip install crossbar[all]' returned a non-zero code: 1

それはで解決されたようです:

RUN pip install --upgrade cffi

RUN pip install crossbar[all]の前に

この環境で、私の問題は解決されました:)なぜ以前にこのエラーが発生したのかわかりませんが、うまくいきました。

ここにいるすべての人たちと「フランスの python スタックオーバーフロー」である indexerror に感謝します :)

http://indexerror.net/3380/crossbar-0-12-1-wsgi-error-no-module-named-django?show=3415

PS

ここで私が使用するきれいなDockerfile:

FROM ubuntu
ENV APPNAME="monappli"

ADD requirements.txt /tmp/

RUN apt-get update
RUN apt-get install -y gcc build-essential python-dev python2.7-dev libxslt1-dev libssl-dev libxml2 libxml2-dev tesseract-ocr python-imaging libffi-dev libreadline-dev libbz2-dev libsqlite3-dev libncurses5-dev python-mysqldb python-pip

RUN cd /tmp/ && pip install -r requirements.txt
RUN pip install -U crossbar[all]

WORKDIR $APPNAME

CMD cd / && cd $APPNAME && python manage.py makemigrations && python manage.py migrate && crossbar start

Django、flask、および/または必要なすべての依存関係を、Docker ファイルと同じフォルダーにある「requirements.txt」という名前のファイルに入れます。

requirements.txt 例:

ipython
django
djangorestframework
djangorestframework-jwt
django-cors-headers
bottlenose
python-amazon-simple-product-api
python-dateutil
beautifulsoup4
datetime
mechanize
pytesseract
requests
于 2016-02-16T15:04:51.490 に答える
0

"pythonpath": ["/myproject"]dist-packages から他の python パス構成を置き換えるようです。現在のパス設定を追加 /myprojectし、置き換えないオプションを探します。

または、プロジェクトへのパスをマシンの python パスに追加し、クロスバーに python パスを提供しないため、既存のパスが選択されます。

次のようなもの (OS によって異なります):

$ sudo nano /usr/lib/python2.7/dist-packages/myproject.pth

それで:

/home/username/path/to/myproject 
于 2016-02-09T12:12:49.727 に答える