x86 プロセッサを搭載した OS X を実行しているコンピューターで実行する必要がある、x86-64 プロセッサを搭載した Ubuntu を実行しているコンピューターでプログラムを作成しています。私はおそらくどのような種類のライブラリのインストールも行うことができないので、venv が私が知っている唯一のオプションです。
そのプラットフォームを対象としたものを作成するにはどうすればよいですか?
できない場合、プログラムと共にライブラリを出荷するより良い方法はありますか?
x86 プロセッサを搭載した OS X を実行しているコンピューターで実行する必要がある、x86-64 プロセッサを搭載した Ubuntu を実行しているコンピューターでプログラムを作成しています。私はおそらくどのような種類のライブラリのインストールも行うことができないので、venv が私が知っている唯一のオプションです。
そのプラットフォームを対象としたものを作成するにはどうすればよいですか?
できない場合、プログラムと共にライブラリを出荷するより良い方法はありますか?
Virtualenv はパッケージ化メカニズムではありません。virtualenv が、それが作成されたコンピューターから離れるべき理由はありません。機能しません。virtualenv は、OS、CPU アーキテクチャ、Python のバージョンなどに 100% 固有です。
パッケージングには多くのソリューションがあります。昔ながらの方法は、 で依存関係を指定し、ターゲット マシンsetup.py
で実行することです。setup.py install
これはvirtualenv 内で発生する可能性があることに注意してください。virtualenv を作成し、そこで setup.py を実行するだけです。virtualenv とvenv
3.3 の標準ライブラリの両方が、virtualenv の作成後にこれを自動的に行う方法を提供します。
絶対にバイナリ ディストリビューションを作成する必要がある場合 (たとえば、拡張モジュールが必要で、エンド ユーザーがコンパイラを持っていないため)、egg または wheel、または .py からバイナリへのコンバーター (py2exe、PyInstaller) のいずれかが必要です。 、cx_Freeze など)。それを作成するには、OS X マシンにアクセスする必要があります。そして、少なくともホイールと卵は通常とにかく取り付けられているので、それらを使用してもこの手間が省けません. これは、バイナリ配布用の形式であるためです。主な目的は、インストール手順を削除するのではなく、ビルド手順をエンド ユーザーから開発者にプッシュすることです。
要約すると、仮想環境を作成し、アプリケーションと必要なライブラリをインストールするスクリプトを作成するだけです。