web-dev-qa-db-ja.com

gunicornがインストールされているのにgunicornコマンドが見つからないのはなぜですか?

Gunicornをインストールしましたが、gunicornコマンドが見つかりません:

# pip3.4 install gunicorn
Requirement already satisfied (use --upgrade to upgrade): gunicorn in /usr/local/python3.4/lib/python3.4/site-packages

# gunicorn
-bash: gunicorn: command not found

問題は何ですか、gunicornのインストールパスがシステムによって認識されませんか?

11
Peng Kim

Debianでも同じ問題がありました。

Debianでは documentation apt経由でgunicornをインストールするようにアドバイスしていることがわかりました:

$ Sudo apt install gunicorn
6
ja2142

gunicornソースから をインストールすると、2時間試した後、私を救いました!

pip3 install git+https://github.com/benoitc/gunicorn.git
3
Alex Jolig

gunicornという名前のファイルを作成し、開発サーバーと同じ以下のコードを入力して、/usr/binなどのシステムパスに含めました。

#!/usr/local/bin/python3.4

#-*- coding: utf-8 -*-
import re
import sys

from gunicorn.app.wsgiapp import run


if __name__ == '__main__':
        sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$','',sys.argv[0])
        sys.exit(run())

このようにして、それは私の問題を解決しましたが、それでも私を混乱させました、なぜgunicornコマンドが自動的に生成されず、システムパスに含まれなかったのですか?そしてなぜ私の開発サーバーは同じOS(centos 6.5 x64)を両方とも実行しました

3
Peng Kim

同じ問題に直面しましたが、LinuxPATH変数にgunicornバイナリパスを追加する必要がありました。 $ PATHをエコーすることから始めて、システムにリストされているすべてのバイナリパスを確認できます。次に、gunicornがインストールされている場所を見つけます。私の場合、python仮想環境とpyenvを使用していました。これは、いくつかのpythonバージョンと依存関係を別々に管理するのに役立ちます。

(venv3.6) dave@daverig (develop)✗ % pip show gunicorn
Name: gunicorn
Version: 19.7.1
Summary: WSGI HTTP Server for UNIX
Home-page: http://gunicorn.org
Author: Benoit Chesneau
Author-email: [email protected]
License: MIT
Location: /home/dave/.pyenv/versions/3.6.2/envs/venv3.6/lib/python3.6/site-packages

Gunicornが/home/dave/.pyenv/versions/3.6.2/envs/venv3.6/lib/python3.6/site-packagesにインストールされており、この特定のpythonバージョンは/home/dave/.pyenv/versions/3.6.2/envs/venv3.6/binにあります。そのため、~/.profileファイルを介してLinuxパスに追加する必要がありました。

export PATH=$PATH:$HOME/.pyenv/versions/3.6.2/envs/venv3.6/bin次に、もちろんsource ~/.profileを使用してこれを更新するか、ターミナルを再起動します。これができるようになると、gunicornバイナリがコンソールで利用できるようになりました。

(venv3.6) dave@daverig (develop)✗ % gunicorn --version
gunicorn (version 19.7.1)
2
David Okwii