在rails中的lib文件夹中有一些模块,即:
/lib/myapp/lib/**
我正在开发中,但是每次我都必须重新启动服务器。我已经讨论过许多不同的问题,但大多数都不是针对rails 3.1的。
我现在有一个初始化器来完成这个任务;
if Rails.env == "development"
lib_reloader = ActiveSupport::FileUpdateChecker.new(Dir["lib/**/*"], true) do
Rails.application.reload_routes! # or do somethin
我正在使用__import__导入python模块。然而,我想实现一个解决方案来重新导入同时可能发生更改的模块(开发/调试目的)。如果我尝试这样做,我仍然会得到“旧”模块,我猜是因为它已经被导入了。我能以某种方式强制python从相同的.py文件名重新导入模块的新版本吗?我不能在重新导入之前删除旧模块(我想这会有帮助),因为我想要某种防错行为:如果(重新)导入失败,我想继续使用旧模块。
类似下面这样的伪代码:
mod = None
reload_trigger = True
MODULE_NAME = "mymodule.py"
while True:
if reloa
每次我重新启动星号,我所有的软电话都没有连接。
当我使用sip show peers或sip reload命令检查我的同行时,我会得到错误:-
No such command 'sip show peers'
或。
No such command 'sip reload'
我找到了临时解决方案,但是当我重新启动星号时,我再次遇到相同的问题。
临时解决方案是运行以下命令:
root@xxxxxxx:~# cd /usr/lib/asterisk/modules
root@xxxxxxx:/usr/lib/asterisk/modules# asterisk -
当我在Rails控制台中运行reload!时,我得到了“超类与类不匹配”的错误。我有一些用ruby定义的超级简单的类,如下所示:
# base_class.rb
module A
module B
module C
class BaseClass
def close
#stub
end
end
end
end
end
和:
# more_specific.rb
module A
module B
module C
class MoreSpecific < BaseC
我有一个函数:
def f():
print('hi')
保存在文件example.py中。
我在windows上启动提示符,然后点击python
并键入以下命令:
from importlib import reload
import example
from example import *
然后我在文件example.py中更改了一些内容,然后点击reload(example)。但它只有在我调用example.f()时才起作用。我总是必须添加额外的from example import *才能在重新加载后只调用f()吗?有没有更好的方法来实现这一点?
我使用的是python 3.2.2。当我写一个简单的程序时,我会遇到这个问题。
>>> reload(recommendations)
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
reload(recommendations)
NameError: name 'reload' is not defined
我怎么发动汽车呢?
由于IPython笔记本在我修改模块后没有重新加载该文件,因此我正在尝试重新加载它。有一个关于如何做类似事情的,但我的问题是,当.py文件在子文件夹中时,它不能工作。
我最初的导入是这样的:
from myutils.MyClassFile import MyClass
尝试重新加载时:
reload(myutils.MyClassFile)
from myutils.MyClassFile import MyClass
我得到了错误:
name 'myutils' is not defined
关于如何实现这一点的任何建议。
当我使用myModules字典从文件myModule.py导入类MyClass时,我这样做
from myModules.myModule import MyClass
在我更改了myModue.py文件后,如何重新加载此模块?以下是一些无效审判:
reload(MyClass) # TypeError: reload() argument must be module
reload(myModule) # NameError: name 'myModule' is not defined
reload(myModules.myModule) # NameError: nam
我被交互式IPython外壳中的importlib行为搞糊涂了。当我运行时:
import importlib.reload as ilrel
我得到了错误ImportError: No module named 'importlib.reload'。这正是我导入其他模块的方式,比如matplotlib.pyplot。
目前,我只是简单地导入importlib,然后使用importlib.reload(<module name>)。这不是一个大问题,但是为什么第一种方法不起作用呢?
我正在编写一个模型来读取、写入和存储设置。我认为我的代码很好,但我不能百分之百肯定。任何关于我如何改进它的建议都是值得欢迎的。
import ntpath
import yaml
class Settings:
def __init__(self, paths=None, default_path=None):
"""Load, write and store settings
This model manages setting files (YAML).
Keyword Arguments:
在测试期间,我向我的测试用例添加了一个重新加载命令,这样我就可以在几个不同的地方更改代码,而不必手动重新加载所有内容,并且我注意到重新加载似乎会影响测试结果。
下面是我所做的:
import mymodule
import mymodule.rules as rules
def testcase():
reload(mymodule)
reload(rules)
# The rest of the test case
当两次重新加载都被注释掉时,一切都很正常,但是当我注释掉第二次重新加载时,测试结果就不同了。是否在重新加载过程中发生了一些我不知道的事情,需要在重新加