web-dev-qa-db-ja.com

Win32でインストーラーを使用せずにPython 2.6をインストールします

PythonインストールされていないマシンでPythonスクリプトを実行する必要があります。Pythonをソフトウェアパッケージの一部であり、Pythonはユーザーに気づかれずにカーテンの後ろで実行されます。

私がしたことは次のとおりです。

  1. Python.exe、python26.dll、msvcr90.dllおよびMicrosoft.VC90.CRT.manifestをコピーします
  2. LIBsディレクトリのすべてのディレクトリをpython26.Zipとして圧縮します。
  3. DLLディレクトリ内に必要なすべてのdll/pydファイルをコピーします。

動作しているようですが、python26.Zipをpythonlib.Zipなどの他の名前に変更すると、Pythonライブラリが見つかりません。

  • 質問1:python26.Zipの名前の背後にある魔法は何ですか? Pythonは、python26.Zip内のライブラリを自動的に検索しますが、別の名前ではありませんか?
  • 質問2:python.exe/python26.dllと同じディレクトリにpython26.Zipがある場合、パスを追加する必要はありませんsys.path.append(python26.Zipへのパス)。それが正しいか?

Pythonには組み込みライブラリがあり、sysはその1つです。 sys.path必要なZipファイル内のすべてのPythonライブラリを指すようにします。しかし、驚くべきことに、ライブラリ名をPython26.Zipとして使用した場合、それは機能しましたが、なぜそうなのですか?

19
prosseek

Pythonインタプリタのソースコードを調べて、いくつかの実験を行いました。そして、Pythonインタプリタが "THE DIRECTORY OF PYTHONXXX.DLL + pythonXXX.Zip」とは関係ありません。XXXはPythonインタプリタのバージョンです。

その結果、python26.dllと同じディレクトリにpython26.Zipがある場合。すべてのPythonライブラリを自動的に使用できます。

10
prosseek

私は1年前から PortablePython を使用していますが、ロックダウンされた仕事用のノートで作業しているので素晴らしいと思います。

Python 2.5.4、2.6.1、および3.0.1バージョンがあります。

25
das_weezul

Sylvain Pointeauのブログ から:

手順は実際には非常に単純です。msiインストーラを http://www.python.org/getit/ からダウンロードして、次のコマンドを入力します。

C:\development\apps>msiexec /a python-3.3.2.msi /qb TARGETDIR=C:\development\apps\python33

彼の例では、msiexec(UniExtractのユーザー向けのMSI管理インストーラー)を使用して、抽出をTARGETDIRに強制しています。 thereは、削除する内部インストーラーであることがわかります。

編集:また、サイレントにすることもできますが、pythonを使用するたびにこれを行うのは馬鹿げているようです。tempdirに抽出し、アンインストール時にクリーンアップするだけです。

PS:これが何歳かわかりませんでした! :D

13
user4447514

別のオプションは、インストール WinPython です。インストーラーを使用しますが、管理者権限は必要ありません(Windows 7でテスト済み)。 Portable Pythonとは異なり、Python 3.3.5バージョンもあります。

6
Zenadix

別のオプションは、スタンドアロンを作成する PyInstaller を検討することかもしれませんPythonアプリケーションクロスプラットフォーム。ホームページから:

PyInstallerは、(パッケージ)PythonプログラムをWindows、Linux、Mac OS Xでスタンドアロンの実行可能ファイルに変換するプログラムです。[...] PyInstallerの主な目標は、互換性を持つことですサードパーティのパッケージをそのまま使用できます。つまり、PyInstallerを使用すると、外部パッケージを機能させるために必要なすべてのトリックがPyInstaller自体にすでに統合されているため、ユーザーの介入は必要ありません。ウィキでトリックを探し、ファイルまたはセットアップスクリプトにカスタム変更を適用します。例として、PyQtやMatplotlibなどのライブラリは完全にサポートされており、プラグインや外部データファイルを手動で処理する必要はありません。SupportedPackagesの互換性リストを確認してください。

3
ars

py2exe は、PythonスクリプトをWindows実行可能ファイルにコンパイルすることを可能にします。PortablePythonよりもうまく機能する場合と機能しない場合がありますが、 「カーテンの後ろ」プログラムのために配布する必要のあるファイルの数。

2
Jay Taylor