2009-05-17 5 views
30

自分のスクリプト用にsetup.pyファイルを作るには?私は自分のスクリプトをグローバルにする必要があります。 (これを/ usr/binに追加してください)。コンソールから実行できるように、単に:scriptName引数を入力してください。 OS:Linux。 編集: 私のスクリプトはインストール可能ですが、どうすればグローバルにすることができますか?だから私はコンソールからちょうど名前の入力を実行することができます。Python - システムにスクリプトをインストール

答えて

35

編集:この回答は、/usr/binに実行可能スクリプトをインストールすることのみを扱っています。 setup.pyファイルの仕組みに関する基本知識があると思います。

は、スクリプトを作成し、このようなあなたのプロジェクトでそれを置く:あなたのsetup.pyファイルで

yourprojectdir/ 
    setup.py 
    scripts/ 
     myscript.sh 

は、次の操作を行います。

from setuptools import setup 
# you may need setuptools instead of distutils 

setup(
    # basic stuff here 
    scripts = [ 
     'scripts/myscript.sh' 
    ] 
) 

を次に基本的にはそれはそれだ

python setup.py install 

を入力します。あなたのスクリプトが正確に/usr/binにではなく、他のディレクトリに置かれる可能性があります。この場合、

python setup.py install --help 

と入力し、--install-scriptsのパラメータとフレンドを検索してください。

+0

[OK]を、私はあなたが書いたことをやりました。しかし、実行した後:setup.py install私は得た:
エラー:ファイル '/home/ockonal/workspace/scripts/getkey.py'は存在しません – Ockonal

+0

私はすでにインストール可能なmadyスクリプトですが、どうすれば作れますかそれはグローバルですか?私はちょうど名前の入力をコンソールから実行することはできません。 – Ockonal

+0

スクリプトはどこにインストールされましたか?/usr/binにある場合、setup.pyは正常に動作します。スクリプトの権限を確認してください。すべての人に+ x権限が必要です。あなたのプロジェクトのスクリプトはこれらの憶測を持っているはずです。そうすれば、/ usr/binにコピーされたときにすべてうまくいくでしょう。 – Jasiu

1

私はこの質問がかなり古くなっていることを知っていますが、その場合、私は自分自身でこの問題を解決した方法を投稿します。それはpipでインストールするときにPyPI用のパッケージPython用のシステムパッケージではありません。

setup(
    # rest of setup 
    console_scripts={ 
     'console_scripts': [ 
      '<app> = <package>.<app>:main' 
     ] 
    }, 
) 

Details

関連する問題