[解決済み] Pythonスクリプトのディレクトリにcdすることなく、コマンドラインで使用するにはどうしたらいいですか?それはPYTHONPATHですか?
質問内容
PYTHONPATHを使いこなすにはどうしたらいいでしょうか?パス内のスクリプトを実行しようとすると、ファイルがありません。 が見つかりました。スクリプトがあるディレクトリにcdするとスクリプトが実行されます。では、この PYTHONPATH?
$ echo $PYTHONPATH
:/home/randy/lib/python
$ tree -L 1 '/home/randy/lib/python'
/home/randy/lib/python
├── gbmx_html.py
├── gbmx.py
├── __init__.py
├── __pycache__
├── scripts
└── yesno.py
$ python gbmx.py -h
python: can't open file 'gbmx.py': [Errno 2] No such file or directory
$ cd '/home/randy/lib/python'
ファイルディレクトリにcdした後、...を実行します。
$ python gbmx.py -h
usage: gbmx.py [-h] [-b]
PYTHONPATHを一切利用できないのはなぜですか?
どうすればいいですか?
少し混乱しているようですね。PYTHONPATHは、検索パスを設定します。 インポート Python モジュールを実行するのではありません。
PYTHONPATH モジュールファイルのデフォルトの検索パスを補強します。このパスは 形式はシェルの PATH と同じです。 パス名をos.pathsepで区切ります(例:Unixのコロン、セミコロン)。 Windowsの場合)。存在しないディレクトリは黙って無視されます。
通常のディレクトリに加えて、PYTHONPATH の各エントリには、次のようなものがあります。 純粋な Python モジュールを含む zip ファイルを参照します。 コンパイルされた形式)。拡張モジュールは zip ファイルからインポートできません。
デフォルトの検索パスはインストールに依存しますが、一般的には は prefix/lib/pythonversion で始まります (上記の PYTHONHOME を参照してください)。これは は常にPYTHONPATHに追加されます。
検索パスの前に追加のディレクトリが挿入されます。 をPYTHONPATHの前に置くと、上記のインターフェイスオプションで説明したようになります。検索 パスは、Pythonプログラムの中で、変数 sys.path。
http://docs.python.org/2/using/cmdline.html#envvar-PYTHONPATH
探しているのはPATHです。
export PATH=$PATH:/home/randy/lib/python
しかし、Pythonスクリプトをプログラムとして実行するには、さらに シバング を1行目でPythonに置き換えてください。このような感じで大丈夫でしょう。
#!/usr/bin/env python
そして、実行権限を与える。
chmod +x /home/randy/lib/python/gbmx.py
そうすると、単純に
gmbx.py
をどこからでも使えるようにする。
関連
-
Python jiabaライブラリの使用方法について説明
-
Pythonコードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
Python Pillow Image.save jpg画像圧縮問題
-
[解決済み】 NameError: グローバル名 'xrange' は Python 3 で定義されていません。
-
[解決済み] builtins.TypeError: strでなければならない、bytesではない
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonの辞書からキーを削除するにはどうしたらいいですか?
-
[解決済み] Pythonスクリプトのプロファイリングはどのように行うのですか?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python jiabaライブラリの使用方法について説明
-
[解決済み】Pythonスクリプトで「Expected 2D array, got 1D array instead: 」というエラーが発生?
-
[解決済み】 NameError: グローバル名 'xrange' は Python 3 で定義されていません。
-
[解決済み】syntaxError: 'continue' がループ内で適切に使用されていない
-
[解決済み】Python elifの構文が無効です【終了しました
-
[解決済み】Pythonでgoogle APIのJSONコードを読み込むとエラーになる件
-
[解決済み】インポートエラー。モジュール名 urllib2 がない
-
[解決済み】LogisticRegression: Pythonでsklearnを使用して、未知のラベルタイプ: '連続'を使用しています。
-
[解決済み】「OverflowError: Python int too large to convert to C long" on windows but not mac
-
[解決済み] from utils import label_map_util Import Error: utils という名前のモジュールがない