[python] 파이썬에서 “pip install”이 SyntaxError를 발생시키는 이유는 무엇입니까?

pip를 사용하여 패키지를 설치하려고합니다. pip install파이썬 셸에서 실행하려고 하지만을 얻습니다 SyntaxError. 이 오류가 발생하는 이유는 무엇입니까? pip를 사용하여 패키지를 설치하려면 어떻게합니까?

>>> pip install selenium
              ^
SyntaxError: invalid syntax



답변

pip는 Python 인터프리터가 아닌 명령 줄에서 실행됩니다. 모듈 을 설치 하는 프로그램 이므로 파이썬에서 모듈을 사용할 수 있습니다. 모듈을 설치하면 Python 셸을 열고 할 수 있습니다 import selenium.

파이썬 쉘은 명령 행이 아니며 대화식 인터프리터입니다. 명령이 아닌 Python 코드를 입력하십시오.


답변

Python 셸 (DOS, Windows의 PowerShell)이 아닌 명령 줄을 사용하십시오.

C:\Program Files\Python2.7\Scripts> pip install XYZ

최신 설치 프로그램을 사용하여 PATH에 Python을 설치 한 경우 pip를 실행하기 위해 해당 폴더에 있지 않아도됩니다.

Mac 또는 Linux의 터미널

$ pip install XYZ


답변

: @sinoroc이 주사위를 통해 패키지를 설치하는 올바른 방법을 제안 핍이 스레드를 폐쇄의 원인이되므로 별도의 프로세스를 사용하거나이 API를 사용하는 올바른 방법이 그래서 새로운 설치된 패키지를로드 할 인터프리터를 다시 시작해야 할 수 있습니다 subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'SomeProject'])파이썬 수 있기 때문에하지만, 내부 API에 액세스하고 API를 사용하는 것을 알고 있다면 내부 API를 사용할 수 있습니다. https://www.lfd.uci.edu/~gohlke/pythonlibs/ 와 같은 대체 리소스를 사용하여 자체 GUI 패키지 관리자를 구축하는 경우

다음 업데이트는 추천 업데이트를 다운 보팅하는 대신 날짜가 지났습니다. 참조 https://github.com/pypa/pip/issues/7498을 참조.


UPDATE : PIP 버전 10.x를가 있기 때문에 더 이상이 get_installed_distributions()또는 main방법에 따라 import pip 대신 사용하지 import pip._internal as pip .

업데이트 ca. v.18 get_installed_distributions() 이 제거되었습니다. 대신 다음 freeze과 같이 생성기를 사용할 수 있습니다 .

from pip._internal.operations.freeze import freeze

print([package for package in freeze()])

# eg output ['pip==19.0.3']


파이썬 인터프리터에서 pip를 사용하려면 다음을 시도하십시오.

import pip

package_names=['selenium', 'requests'] #packages to install
pip.main(['install'] + package_names + ['--upgrade'])
# --upgrade to install or update existing packages

설치된 모든 패키지를 업데이트해야하는 경우 다음을 사용하십시오.

import pip

for i in pip.get_installed_distributions():
    pip.main(['install', i.key, '--upgrade'])

설치에 실패한 경우 다른 패키지 설치를 중지하려면 한 번의 pip.main([])호출로 사용하십시오 .

import pip

package_names = [i.key for i in pip.get_installed_distributions()]
pip.main(['install'] + package_names + ['--upgrade'])

참고 : -r/ --requirement매개 변수가 있는 파일의 목록에서 설치할 때 open () 함수가 필요하지 않습니다.

pip.main(['install', '-r', 'filename'])

경고 : 일부 매개 변수는 단순 --help하면 파이썬 인터프리터가 중지 될 수 있습니다.

호기심 : pip.exe실제로 파이썬 인터프리터와 pip 모듈 을 사용 하면됩니다. python 2.x 또는 3.x의 압축을 풀 pip.exe거나 pip3.exe상관없이 SAME 단일 파일 안에 있습니다 __main__.py.

# -*- coding: utf-8 -*-
import re
import sys

from pip import main

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
    sys.exit(main())


답변

Python 3.x에서 pip를 실행하려면 Python 페이지 : Python 모듈 설치 의 지시 사항을 따르십시오 .

python -m pip install SomePackage

이것은 파이썬 쉘이 아닌 명령 줄에서 실행됩니다 (원래 질문의 구문 오류의 원인).


답변

처음에는이 같은 문제에 직면하여 파이썬을 설치했으며 pip명령을 실행할 때 아래 그림과 같이 오류가 발생했습니다.

여기에 이미지 설명을 입력하십시오

환경 변수에 pip 경로가 추가되었는지 확인하십시오. 나를 위해 python 및 pip 설치 경로는
다음과
같습니다. :
Python : C:\Users\fhhz\AppData\Local\Programs\Python\Python38\
pip :이 C:\Users\fhhz\AppData\Local\Programs\Python\Python38\Scripts
두 경로는 환경 변수의 경로에 추가되었습니다.

이제 새로운 cmd 창을 열고 pip를 입력하면 아래와 같은 화면이 나타납니다.

여기에 이미지 설명을 입력하십시오

이제를 입력하십시오 pip install <<package-name>>. 여기에 spyder 패키지를 설치하여 명령 줄 문을 그대로 pip install spyder실행 화면으로 이동합니다.

여기에 이미지 설명을 입력하십시오

그리고 우리가 이것으로 끝났 으면 좋겠다 !!


답변

IDLE이 아닌 cmd에 입력해야합니다. IDLE에서 무언가를 설치하려면 IDLE이 명령 프롬프트가 아니기 때문에

>>>from pip.__main__ import _main as main
>>>main(#args splitted by space in list example:['install', 'requests'])

이것은 pip <commands>터미널에서 와 같이 pip를 호출 합니다. 명령은 당신이하고있는 공백으로 구분됩니다.


답변

프로그래밍 방식으로 다음이 현재 작동합니다. 모든 답변이 10.0으로 게시 된 것을 보았지만 올바른 답변은 없습니다. 확실히 Kaggle 내 에서이 apporach는 작동합니다.

from pip._internal import main as _main

package_names=['pandas'] #packages to install
_main(['install'] + package_names + ['--upgrade'])