파이썬 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
어떻게해야합니까?
답변
당신은 아마 원했을 것입니다 importlib.reload()
.
from importlib import reload
Python 2.x에서는 내장 이었지만 3.x에서는 importlib
모듈에 있습니다.
참고 사용하는 reload()
인터프리터의 외부는 일반적으로 필요하지 않습니다, 당신은 무엇을 여기에서 일을하려고했다?
답변
@Gareth Latty의 답변에 대한 업데이트. imp
Python 3.4에서 감가 상각되었습니다. 이제 원하는 importlib.reload()
.
from importlib import reload
답변
시도해보십시오 importlib.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
잊어 버릴 수 있습니다.