単一のマシンで、単一の 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思っていたので、同じディレクトリで検索するだけのキーワードは上記の場合には十分ではありません。