Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonモジュールを単一のファイルにカプセル化する方法は?


通常、Pythonモジュールを1つのファイルにカプセル化することはできません。そうすると、Pythonが使用するモジュール検索方法(ファイルとディレクトリ)が破壊されるためです。マシンにモジュールをインストールできない場合(十分な権限がないため)、virtualenvを使用するか、モジュールファイルを別のディレクトリに保存し、次のコードを使用して、Pythonが特定のモジュール内のモジュールを検索できるようにします。

>>> import os, sys
>>> file_path = 'AdditionalModules/'
>>> sys.path.append(os.path.dirname(file_path))
>>> # Now python also searches AdditionalModules folder for importing modules as we have set it on the PYTHONPATH.

virtualenvを使用して、分離されたローカルPython環境を作成することもできます。対処されている基本的な問題は、依存関係とバージョンの1つ、および間接的なアクセス許可です。 LibFooのバージョン1を必要とするアプリケーションがあり、別のアプリケーションがバージョン2を必要とする場合を想像してください。これらの両方のアプリケーションをどのように使用できますか?すべてを/usr/lib/python2.7/site-packages(またはプラットフォームの標準の場所)にインストールすると、アップグレードすべきでないアプリケーションを意図せずにアップグレードする状況に陥りやすくなります。これは、権限がないためにパッケージをマシンにインストールできないユースケースでも使用できます。仮想環境の詳細については、ドキュメントをお読みください:https://virtualenv.pypa.io/en/stable/


  1. CygwinにPythonモジュールをインストールするにはどうすればいいですか?

    cygwinをインストールするときは、リストからpython/python-setuptoolsをインストールしてください。これにより、「easy_install」パッケージがインストールされます。 easy_installを入手したら、それを使用してpipをインストールできます。次のコマンドを入力します: $ easy_install-a.b pip a.bを、2.7または3.4などのPythonバージョンに置き換える必要があります。これで、pipを使用して必要なモジュールをインストールできます。たとえば、「SomeProject」の最新バージョンをインストールするには: $ pip in

  2. Pythonモジュールはどのように機能しますか?

    Pythonには、定義をファイルに入れて、スクリプトまたはインタープリターのインタラクティブインスタンスで使用する方法があります。このようなファイルはモジュールと呼ばれます。モジュールからの定義は、他のモジュールまたはメインモジュール(トップレベルおよび計算機モードで実行されるスクリプトでアクセスできる変数のコレクション)にインポートできます。 モジュール、たとえば `hello`をインポートすると、インタプリタは入力スクリプトを含むディレクトリでhello.pyという名前のファイルを検索し、次に環境変数PYTHONPATHで指定されたディレクトリのリストを検索します。 fibonacci