programing

NameError: 'reload' 이름이 정의되지 않았습니다.

padding 2023. 5. 18. 20:49
반응형

NameError: 'reload' 이름이 정의되지 않았습니다.

파이썬 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

어떻게 하면 좋을까요?

원하셨을 겁니다.

from importlib import reload

Python 2.x에서는 이 기능이 기본 제공되지만 3.x에서는importlib모듈.

참고: 사용reload()통역사의 외부는 일반적으로 불필요합니다, 당신은 여기서 무엇을 하려고 했습니까?

@Gareth Latty의 답변에 대한 업데이트. impPython 3.4에서 평가 절하되었습니다.이제 당신이 원하는 것은importlib.reload().

from importlib import reload

해보세요.

이전에 가져온 모듈을 다시 로드합니다.인수는 모듈 개체여야 하므로 이전에 성공적으로 가져왔어야 합니다.외부 편집기를 사용하여 모듈 원본 파일을 편집한 경우 Python 인터프리터를 종료하지 않고 새 버전을 사용해 보십시오.

from importlib import reload

reload(module_name)

다른 사람들이 말했듯이, 당신은 다음 중 하나가 필요합니다.importlib.reload(module)또는 더 이른 시점에 당신은 해야 합니다.from importlib import reload하지만 당신은 숨길 수 있습니다.from importlib import reload초기화 파일에 있습니다.반드시PYTHONSTARTUP셸에 정의되어 있습니다.예를들면,

export PYTHONSTARTUP=$HOME/python/startup.py

당신에게 추가하기에 합리적인 라인일 수 있습니다.~/.bash_profile셸이 bash이고 파이썬 파일을 저장하는 위치에 따라 다릅니다. (만약 당신이 이 지침을 따르고 있다면, 이 시점에서 새 터미널 창을 시작하여 줄이 실행되도록 하십시오.)그러면 줄을 서시면 됩니다.

from importlib import reload

~/python/startup.py그리고 그것은 자동으로 일어날 것입니다. (다시 말하지만, 만약 당신이 따라가고 있다면, 이 시점에서 새로운 파이썬 세션을 시작하세요.)이것은 이 한 가지 문제를 해결하기 위해 약간 복잡해 보일 수 있지만, 이것은 당신이 한 번만 해야 하는 것이고, 그리고 나서 "나는 파이썬이 항상 이것을 하기를 바란다"라는 노선을 따라 모든 유사한 문제에 대해, 일단 당신이 그것을 해결책을 찾으면 당신은 그것을 넣을 수 있습니다.~/python/startup.py잊어버려요.

언급URL : https://stackoverflow.com/questions/10142764/nameerror-name-reload-is-not-defined

반응형