Python 2.7 - 在内存中保留两个工作版本的包

用户3092693

有没有可能在不破坏任何东西的情况下做这样的事情:

import some
some_copy = some
print some.version  # v1.0

# modify code and reload package
# ...
print some.version  # v1.1
print some_copy.version  # v1.0

所以我想让两个不同版本的模块/包同时运行(在一个进程中)。

活着

假设您有两个脚本。第一个,像这样调用 some.py

class some(object):
    def __init__(self):
        self.version = '1.0'

另一个叫做 wcode.py。执行它

import some
some1 = some##.some()

raw_input("Waiting for you to change '1.0' into '1.1'.\nPress ENTER when done.")

reload(some)
some2 = some##.some()

print(some1().version)
print(some2().version)

印刷

1.0
1.0

为什么 ?仅仅是因为导入的定义some被覆盖。这意味着您可能希望实例化它以保持其方法定义为第一个版本类。如下

import some
some1 = some.some()

raw_input("Waiting for you to change '1.0' into '1.1'.\nPress ENTER when done.")

reload(some)
some2 = some.some()

print(some1.version)
print(some2.version)

印刷

1.0
1.1

因此,答案是NO conditionnally,你想做的事是不可能的内部消除实例化您的第一个版本的类 之前 重新加载模块如上所述,实际上。请注意,您究竟为什么要这样做,这超出了我的理解。但你可能有充分的理由。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python 2 相对导入:两个不同的包需要一个公共类

来自分类Dev

在同一系统上安装了两个版本的python 2.x

来自分类Dev

合并两个 python 字典并在新的更新字典中保留最大键 val

来自分类Dev

在 Python 中保留来自两个 JSON 对象的重复条目

来自分类Dev

为什么将一个变量的值分配给另一个变量在python中保留在内存中?

来自分类Dev

如何在TFS中保留2个版本的源代码

来自分类Dev

支持一个python包的两个版本,无需客户端更改代码

来自分类Dev

如何安装Grub2来同时启动两个Windows 7,以便从两个不同的HDD启动?

来自分类Dev

为什么在情况2中,对于相同的值,两个不同的答案来了:Java 7?

来自分类Dev

Grub2检测到两个Windows 7(加载程序)条目

来自分类Dev

Grub2显示了两个Windows 7加载程序

来自分类Python

如何在Windows 7中运行python 2和3?

来自分类Python

如何在Windows 7中运行python 2和3?

来自分类Dev

Think Python 2nd Edition 练习 7-1

来自分类Dev

如何在archlinux中保留同一软件包的两个版本?

来自分类Dev

无法使SWRevealViewController工作(Swift 2,Xcode 7)

来自分类Dev

比较python 2中的两个dicts列表

来自分类Dev

锁定两个Windows 7工作站

来自分类Dev

在 OpenCV-Python 中保存两个 gbr 值

来自分类Dev

两个限制 [1,2] 和 [2,1] 的循环不可接受的python

来自分类Dev

基于公共列合并两个文件;为文件 2 中不存在的变体添加 0,并在存在的变体中保留原始值

来自分类Dev

来自 C 编程语言(版本 2)的示例 1-7

来自分类Linux

合并两个字典,并在Python中保留重复键的值

来自分类Dev

在python 2.x中两个不同模块中的两个函数之间共享数据

来自分类Dev

Python 移动超过 7 天的文件,但保留最新的文件

来自分类Dev

Python:如何使两个不同函数中的2个值相等?

来自分类Dev

preg_match捕获两个大写字母,3个数字和2个大写字母,且不超过7个数字

来自分类Dev

EF 7 AND between 2 where 语句未按预期工作

来自分类Dev

自XCode 7 beta 2起,UITapGestureRecognizer无法正常工作

Related 相关文章

  1. 1

    Python 2 相对导入:两个不同的包需要一个公共类

  2. 2

    在同一系统上安装了两个版本的python 2.x

  3. 3

    合并两个 python 字典并在新的更新字典中保留最大键 val

  4. 4

    在 Python 中保留来自两个 JSON 对象的重复条目

  5. 5

    为什么将一个变量的值分配给另一个变量在python中保留在内存中?

  6. 6

    如何在TFS中保留2个版本的源代码

  7. 7

    支持一个python包的两个版本,无需客户端更改代码

  8. 8

    如何安装Grub2来同时启动两个Windows 7,以便从两个不同的HDD启动?

  9. 9

    为什么在情况2中,对于相同的值,两个不同的答案来了:Java 7?

  10. 10

    Grub2检测到两个Windows 7(加载程序)条目

  11. 11

    Grub2显示了两个Windows 7加载程序

  12. 12

    如何在Windows 7中运行python 2和3?

  13. 13

    如何在Windows 7中运行python 2和3?

  14. 14

    Think Python 2nd Edition 练习 7-1

  15. 15

    如何在archlinux中保留同一软件包的两个版本?

  16. 16

    无法使SWRevealViewController工作(Swift 2,Xcode 7)

  17. 17

    比较python 2中的两个dicts列表

  18. 18

    锁定两个Windows 7工作站

  19. 19

    在 OpenCV-Python 中保存两个 gbr 值

  20. 20

    两个限制 [1,2] 和 [2,1] 的循环不可接受的python

  21. 21

    基于公共列合并两个文件;为文件 2 中不存在的变体添加 0,并在存在的变体中保留原始值

  22. 22

    来自 C 编程语言(版本 2)的示例 1-7

  23. 23

    合并两个字典,并在Python中保留重复键的值

  24. 24

    在python 2.x中两个不同模块中的两个函数之间共享数据

  25. 25

    Python 移动超过 7 天的文件,但保留最新的文件

  26. 26

    Python:如何使两个不同函数中的2个值相等?

  27. 27

    preg_match捕获两个大写字母,3个数字和2个大写字母,且不超过7个数字

  28. 28

    EF 7 AND between 2 where 语句未按预期工作

  29. 29

    自XCode 7 beta 2起,UITapGestureRecognizer无法正常工作

热门标签

归档