Programing

Python 또는 ipython 인터프리터를 입력 할 때 자동으로 모듈 가져 오기

crosscheck 2020. 8. 2. 17:25
반응형

Python 또는 ipython 인터프리터를 입력 할 때 자동으로 모듈 가져 오기


import numpy as np파이썬 인터프리터를 실행할 때마다 거의 매번 타이핑 을합니다. numpy를 자동으로 가져 오도록 Python 또는 ipython 인터프리터를 어떻게 설정합니까?


환경 변수 PYTHONSTARTUP을 사용하십시오 . 공식 문서에서 :

이것이 읽을 수있는 파일의 이름 인 경우, 첫 번째 프롬프트가 대화식 모드로 표시되기 전에 해당 파일의 Python 명령이 실행됩니다. 파일은 대화식 명령이 실행되는 동일한 네임 스페이스에서 실행되므로 대화식 세션에서 규정하지 않고 파일에서 정의되거나 가져온 오브젝트를 사용할 수 있습니다.

따라서 import 문으로 파이썬 스크립트를 작성하고 환경 변수를 지정하십시오. 그러나 '명시 성이 항상 암시 적보다 낫다'는 점을 명심하십시오. 따라서 프로덕션 스크립트에는이 동작에 의존하지 마십시오.

Ipython의 경우 ipython_config 파일을 작성하는 방법에 대한 학습서를 참조하십시오.


ipython의 경우이를 달성하는 두 가지 방법이 있습니다. 둘 다에 위치한 ipython의 구성 디렉토리를 포함 ~/.ipython합니다.

  1. 사용자 정의 ipython 프로파일을 작성하십시오.
  2. 또는 시작 파일을 추가 할 수 있습니다 ~/.ipython/profile_default/startup/

간단하게하기 위해 옵션 2를 사용 합니다. 디렉토리에 파일 .py또는 .ipy파일을 배치하기 ~/.ipython/profile_default/startup만하면 자동으로 실행됩니다. 따라서 import numpy as np간단한 파일로 간단 하게 배치 할 수 있으며 ipython 프롬프트의 네임 스페이스에 np가 있습니다.

옵션 2는 실제로 사용자 정의 프로파일과 함께 작동하지만 사용자 정의 프로파일을 사용하면 특정 경우에 따라 시작 요구 사항 및 기타 구성을 변경할 수 있습니다. 당신이 거라고 그러나, 언제나 처럼이 np모든 수단이 시작 디렉토리에 넣어하여 다음에 사용할 수 있습니다.

ipython 구성에 대한 자세한 내용은. 문서는 훨씬 더 자세한 설명이 있습니다.


~ / .startup.py 파일을 다음과 같이 사용합니다.

# Ned's .startup.py file
print("(.startup.py)")
import datetime, os, pprint, re, sys, time
print("(imported datetime, os, pprint, re, sys, time)")

pp = pprint.pprint

그런 다음 PYTHONSTARTUP = ~ / .startup.py를 정의하면 Python은 쉘을 시작할 때이를 사용합니다.

인쇄 문은 쉘을 시작할 때, 그것이 유효하고 이미 가져온 것을 상기시켜줍니다. pp바로 가기가 너무 정말 편리합니다 ...


같은 사용자 정의 시작 스크립트를 만드는 동안 ravenac95이 제안 대부분의 경우에 가장 일반적인 대답은, 그것은 당신이 사용하려는 상황에서 작동하지 않습니다 from __future__ import X. 때로는 Python 2.x에서 작업하지만 최신 구분을 사용하려는 경우 한 가지 방법이 있습니다. 프로파일을 만들었 으면 profile_default(우분투의 경우이 위치에 있음 ~/.ipython/profile_default)을 편집 하고 아래에 다음과 같은 것을 추가하십시오.

c.InteractiveShellApp.exec_lines = [
    'from __future__ import division, print_function',
    'import numpy as np',
    'import matplotlib.pyplot as plt',
    ]

리눅스에서 허용되는 답변에 대한 간단한 대안으로 :

alias pynp='python -i -c"import numpy as np"'~ / .bash_aliases 파일에 넣는 별명 만 정의하면 됩니다. 그런 다음 python + numpy를 사용하여 호출 할 수 있으며을 pynp사용하여 python 만 계속 사용할 수 있습니다 python. 파이썬 스크립트의 행동은 그대로 남아 있습니다.


일반적인 파이썬 스크립트 import_numpy.py또는 원하는 것을 만들 수 있습니다

#!/bin/env python3
import numpy as np

그런 다음 -i플래그 로 시작하십시오 .

python -i import_numpy.py

이렇게하면 다른 프로젝트에 원하는 모듈 만 선택할 수있는 유연성이 제공됩니다.


그의 답변 에서 언급 한 것처럼 ravenac95 는 사용자 정의 프로파일을 작성하거나 기본 프로파일을 수정할 수 있습니다. 이 답변은 자동으로 필요한 Linux 명령을 간략히 보여줍니다.import numpy as np

이라는 사용자 정의 프로파일을 사용 numpy하려면 다음을 실행하십시오.

ipython profile create numpy
echo 'import numpy as np' >> $(ipython locate profile numpy)/startup/00_imports.py
ipython --profile=numpy

또는 항상 numpy를 가져 오도록 기본 프로필을 수정하려는 경우 :

echo 'import numpy as np' >> $(ipython locate profile default)/startup/00_imports.py
ipython

프로파일 구성에 대한 자세한 내용 IPython 구성 학습서확인하십시오 . .ipython/profile_default/startup/README시작 디렉토리의 작동 방식을 이해하려면 참조하십시오 .


내 기본 ipython호출은

ipython --pylab --nosep --InteractiveShellApp.pylab_import_all=False

--pylab has been a ipython option for some time. It imports numpy and (parts of) matplotlib. I've added the --Inter... option so it does not use the * import, since I prefer to use the explicit np.....

This can be a shortcut, alias or script.

참고URL : https://stackoverflow.com/questions/11124578/automatically-import-modules-when-entering-the-python-or-ipython-interpreter

반응형