Python セットアップの詳細


Windows での Python 環境変数の設定

デフォルトでは、Windows に Python をインストールした後、システムは対応する環境変数を自動的に追加しません。現時点では、コマンド ラインで Python コマンドを直接使用することはできません。

1. まず、Python 環境変数をシステムに登録する必要があります: Python のインストール パスが c:\python2.6 であると仮定して、[コンピューター]->[プロパティ] を変更します。 -> 詳細 -> 環境変数 -> システム変数の PATH は次のとおりです:

(コマンド ライン モードで Python コマンドを実行するには、python.exe が存在するディレクトリをPATH 環境変数。)

PATH=PATH;c:\python26

上記の環境変数が正常に設定されたら、コマンド ラインで python コマンドを直接使用できるようになります。または、「python *.py」を実行して Python スクリプトを実行します。

2. この時点では、まだ「python *.py」を介して Python スクリプトを実行することしかできません。*.py を直接実行したい場合は、別のスクリプトを変更するだけです。環境変数 PATHEXT:

PATHEXT=PATHEXT;.PY;.PYM


3. また、Python を使用する過程で、 help('print') を使用して print コマンドの使用手順を表示するなど、コマンドに関する特定のヘルプ ドキュメントを確認する必要がある場合があります。デフォルトでインストールされている Python ではヘルプ ドキュメントを表示できないため、簡単な設定が必要です。

Python インストール ディレクトリで python25.chm を見つけ、

hh -decompile .python26.chm
を使用します。

これを逆コンパイルし、それが存在するディレクトリを上記の PATH 環境変数に追加します。

4. Python インタープリターがデフォルトのインストール パスの外にあるサードパーティ モジュールを直接インポートできるようにするにはどうすればよいですか?

デフォルトのインストール パス以外のサードパーティ モジュール (自分で作成したモジュールなど) をインポートするには、このモジュールが配置されているディレクトリを値とする新しい PYTHONPATH 環境変数を作成する必要があります。


#Python システムのデフォルトのエンコーディングを設定します

Python
Python がインストールされている場合、デフォルトのエンコーディングは ASCII です。プログラムに非 ASCII エンコーディングが含まれる場合、Python の処理では、「UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in Position 1: ordinal not in」というエラーがよく報告されます。 range(128), Python は非 ASCII エンコーディングを処理できないため、Python のデフォルトのエンコーディングを自分で設定する必要がありますが、通常は utf8 エンコーディング形式に設定されます。

システムのデフォルトのエンコーディングをクエリするには、インタープリタで次のコマンドを入力できます:

Python code
>>>sys.getdefaultencoding()
デフォルトのエンコードを設定するときに使用します:

#Python コード
##
>>>sys.setdefaultencoding('utf8')

    「AttributeError: 'module' object has no attribute 'setdefaultencoding'」というエラーが報告される場合があります。reload(sys) を実行すると、上記のコマンドはスムーズに実行されます。

    この時点で、sys.getdefaultencoding() を実行すると、エンコーディングが utf8 に設定されていることがわかりますが、インタプリタで変更されたエンコーディングは、その時点でのみ有効であることが保証されます。インタプリタを再起動すると、エンコーディングがデフォルトの ASCII にリセットされていることがわかります。プログラムまたはシステムのデフォルトのエンコーディングを一度に変更する方法はありますか?

    Python のデフォルトのエンコーディングを設定するには 2 つの方法があります:

    解決策は、プログラムに次のコードを追加することです:

    Python コード
    import sys  
    reload(sys)  
    sys.setdefaultencoding('utf8')

    もう 1 つの解決策は、Python の Lib\site に新しいものを作成することです。 -packages フォルダー sitecustomize.py、内容は次のとおりです:

    #Python コード
    # encoding=utf8  
    import sys  
      
    reload(sys)  
    sys.setdefaultencoding('utf8')

    この時点で、Python インタプリタを再起動し、sys.getdefaultencoding() を実行すると、エンコードが utf8 に設定されていることがわかります。複数回再起動しても、結果は同じです。これは、システムがこのファイルを呼び出すためです。 Python の起動時にシステムのデフォルトのエンコーディングを設定するだけで、毎回ソリューション コードを手動で追加する必要がなく、これで 1 回限りのソリューションになります。

    もう 1 つの解決策は、プログラム内のエンコードに関連するすべての場所でエンコードを utf8 に強制することです。つまり、コード encode("utf8") を追加します。この方法はお勧めできません。書き込み箇所が 1 つ減ると、大量のエラー レポートが発生するためです。私も一度この状況に遭遇しました。エラー ログを圧縮した後でも、まだ 70K を超えていました。すべてはこの問題が原因でした。非常に崩壊したように感じます。


Python の urllib にタイムアウト情報を設定する

には直接リンクがないため、 Pythonのurllibのタイムアウト設定方法ですので、pythonのソケットタイムアウト情報を設定する必要があります
So:
import socket

import urllib

socket.setdefaulttimeout(9.0)

try:

content =  urllib.urlopen(url).read()

exception socket.timeout:

pass


このようにすると、urllibがタイムアウトした後にsocket.timeout例外がスローされます。 Web ページを開いたときに、この例外を置くだけで、それをキャッチして処理するだけです。



Windows 7 Python のグローバル パスを設定します

  1. 「スタート」メニューから「コンピューター」を選択します
  2. コンテキスト メニューから「システム プロパティ」を選択します
  3. [システムの詳細設定] > [詳細設定] タブをクリックします。
  4. [環境変数] をクリックし、[システム環境変数] で PATH を見つけてクリックします。
  5. [編集] ウィンドウで、クラスの場所を PATH の値に追加して、PATH を変更します。エントリ PATH がない場合は、新しい変数を追加し、名前として PATH を、値として Python (python.exe) のインストール場所を追加することを選択できます。たとえば、D:\python2.7
  6. にインストールします。「コマンド」プロンプト ウィンドウを再度開き、Python を実行します。