0

単一のマシンで、単一の Python モジュールの 2 つのバージョンをどのように使用できるか/すべきか

(a) 同じマシンで同時に、

(b) 単一のユーザーの下で、および

(c)外部プログラムをインストールせずに(悲しいことに、Windowsの作業用コンピューターに外部のものを確実にインストールすることはできません)、

(d) 同じ名前を持つ (アップグレードの際に手間がかからないようにするため ( $ git pull newversion) )

コード プロジェクトの製品版は常に実行されています。同じマシン上で、コードのテスト/開発バージョンも定期的に実行されています。特定のモジュールの独自の特定のバージョンを使用するにはどうすればよいでしょうか?

バージョン A:

#!/usr/bin/python34
#C:\\myproject\\testversion\\bin\\myprogram.py
import mymodule  ## this version in C:\\myproject\\testversion\\lib\\python
mymodule.do_stuff() # do_stuff version A

バージョン B:

#!/usr/bin/python34
#C:\\myproject\\productionversion\\bin\\myprogram.py
import mymodule ## this version is in C:\\myproject\\productionversion\\lib\\python
mymodule.do_stuff() ## do_stuff version B

私の理解が正しければ、PythonPath環境変数を厳密に使用すると、両方のバージョンで同じことが選択されます。mymodule

さまざまな python モジュールに関するこの質問、および modulesに関する python ドキュメントを読んだ後、単なるモジュールではなくパッケージを適切に整理することが適切かもしれないと感じましたが、それからどのようなベスト プラクティスが得られるかはよくわかりません。

また、deb パッケージなどの多くのプロジェクトの標準的な (最善の?) 手順は、モジュールとは別のフォルダー (例: bin と lib) にスクリプトを配置することだとimport思っていたので、同じディレクトリで検索するだけのキーワードは上記の場合には十分ではありません。

4

0 に答える 0