2015-11-11 29 views
10

Yeni bir konteyner ubuntu yaratip sanal ortamda gerekli paketleri yükledim. Sonra önceden varolan python hizmet kodunu python yolu//// dosya/X.py (virualenv'de) ile çalıştırdım. Bu yüzden gunicorn -b 0.0.0.0:5000/yol/zaman/dosya/X olarak gunicorn ile idam: (virualenv olarak) app amaGunicorn Dosya adicorn tarafindan alinacak dosya desteklenmiyor (modül)

2015-11-11 16:38:08 [19118] [INFO] Starting gunicorn 17.5 
2015-11-11 16:38:08 [19118] [INFO] Listening at: http://0.0.0.0:444 (19118) 
2015-11-11 16:38:08 [19118] [INFO] Using worker: sync 
2015-11-11 16:38:08 [19123] [INFO] Booting worker with pid: 19123 
2015-11-11 16:38:08 [19123] [ERROR] Exception in worker process: 
Traceback (most recent call last): 
    File "/usr/lib/python2.7/dist-packages/gunicorn/arbiter.py", line 473, in spawn_worker 
    worker.init_process() 
    File "/usr/lib/python2.7/dist-packages/gunicorn/workers/base.py", line 100, in init_process 
    self.wsgi = self.app.wsgi() 
    File "/usr/lib/python2.7/dist-packages/gunicorn/app/base.py", line 115, in wsgi 
    self.callable = self.load() 
    File "/usr/lib/python2.7/dist-packages/gunicorn/app/wsgiapp.py", line 33, in load 
    return util.import_app(self.app_uri) 
    File "/usr/lib/python2.7/dist-packages/gunicorn/util.py", line 362, in import_app 
    __import__(module) 
ImportError: Import by filename is not supported. 
Traceback (most recent call last): 
    File "/usr/lib/python2.7/dist-packages/gunicorn/arbiter.py", line 473, in spawn_worker 
    worker.init_process() 
    File "/usr/lib/python2.7/dist-packages/gunicorn/workers/base.py", line 100, in init_process 
    self.wsgi = self.app.wsgi() 
    File "/usr/lib/python2.7/dist-packages/gunicorn/app/base.py", line 115, in wsgi 
    self.callable = self.load() 
    File "/usr/lib/python2.7/dist-packages/gunicorn/app/wsgiapp.py", line 33, in load 
    return util.import_app(self.app_uri) 
    File "/usr/lib/python2.7/dist-packages/gunicorn/util.py", line 362, in import_app 
    __import__(module) 
ImportError: Import by filename is not supported. 
2015-11-11 16:38:08 [19123] [INFO] Worker exiting (pid: 19123) 
2015-11-11 16:38:09 [19118] [INFO] Shutting down: Master 

kimse bana düzeltmek yardımcı olabilir aşağıdaki hatayı alıyorum ImportError: Import by filename is not supported. Neden geliyor? Diğer sunucuda gunicorn uyguladım, orada iyi çalışıyor.

cevap

12

Bu, hatanın söylediği gibi: Python modüllerine dosya yolu ile başvuramazsınız, PYTHONPATH içindeki bir dizinden başlayarak noktalı modül yoluna başvurmalısınız.

gunicorn -b 0.0.0.0:5000 path.inside.virtualenv.X:app 
+0

Anında yanıtınız için teşekkürler, ama 'File' /usr/lib/python2.7/dist-packages/gunicorn/util.py ", satır 362, import_app __import __ (module değiştirildikten sonra aynı hatayı alıyorum) ImportError: Var.www.o9_prod.dev.myprojectenv .__ init __: app 'adlı bir modül yok. Bu konuda bir daha şüphe duyuyorum. '/usr/lib/python2.7/dist-packages/gunicorn' şeklindeki yolu benimsem ama sanal ortam yolum 'var/www/prod/myvirtualenv/bin'. Bu yüzden bu hatayı alıyorum? – gopinath

+0

Bu aynı hata değil. Ve söylediğimi yapmadın: yol sanalenv'in kökünden olmalı. –

+0

oh pardon, bu yüzden kontrol edebilirsiniz "gunicorn -b 0.0.0.0:5000 /var/www/prod/myvirtualenv.__init__:app" gunicorn başlatmak için doğru bir komut olup olmadığını ve yanlış varsa lütfen beni düzeltin – gopinath

0

Sadece Google'cuların için, ben de ben yerine yanlışlıkla gunicorn --paste ait salçaları gunicorn kullanarak Başvurumu çalıştırdığınızda bu hatayı vardı. gunicorn hata yapmadı, ancak api.ini bulunamadı ve 'Dosya adıyla içe aktarma desteklenmiyor' hatası.