如何在单机

时间:2015-04-22 15:31:05

标签: python version-control module multiple-versions

在一台机器上,如何/应该使用单个python模块的两个版本

(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

在阅读this question关于不同的python模块和the python docs about modules之后,我觉得正确组织一个包而不仅仅是一个模块可能是合适的,但我不能说出最佳实践会是那个。

另外,既然我认为deb包等许多项目的标准(最好?)程序是将脚本放在与模块不同的文件夹中(例如bin与lib),似乎import仅查看同一目录中的关键字对于上述情况是不够的。

0 个答案:

没有答案