web-dev-qa-db-ja.com

Python内部の "pip install"がSyntaxErrorを起こすのはなぜですか?

パッケージをインストールするのにpipを使おうとしています。 Pythonシェルからpip installを実行しようとしましたが、SyntaxErrorを取得しました。このエラーが発生するのはなぜですか? pipを使用してパッケージをインストールする方法

>>> pip install Selenium
              ^
SyntaxError: invalid syntax
186
Nacht

pipはPythonインタプリタではなく、コマンドラインから実行されます。 モジュールをインストールするプログラムなので、Pythonからそれらを使うことができます。モジュールをインストールしたら、Pythonシェルを開いてimport Seleniumを実行します。

Pythonシェルはコマンドラインではなく、対話型のインタプリタです。コマンドではなくPythonコードを入力します。

251
Lennart Regebro

Pythonシェル(DOS、WindowsではPowerShell)ではなく、コマンドラインを使用してください。

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

最新のインストーラを使用してPythonをPATHにインストールした場合は、pipを実行するためにそのフォルダにいる必要はありません。

MacまたはLinuxのターミナル

$ pip install XYZ
89
ruxming

UPDATEpipバージョン10.x以降これ以上ありませんimport pipの下のget_installed_distributions()またはmainメソッドは、代わりにimport pip._internal as pipを使用します。

UPDATE約v.18get_installed_distributions()は削除されました。代わりに、ジェネレータfreezeを次のように使うことができます。

from pip._internal.operations.freeze import freeze

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

# eg output ['pip==19.0.3']

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'])

インストールに失敗した場合に他のパッケージのインストールを中止したい場合は、1回の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のようないくつかのパラメータはpythonインタプリタを停止させるかもしれません。

好奇心:pip.exeを使うことによってあなたはとにかく実際にはpythonインタプリタとpipモジュールを使います。 python 2.xまたは3.xに関係なくpip.exeまたはpip3.exeを解凍すると、中には__main__.pyという単一のファイルがあります。

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

from pip import main

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

Python 3.xでpipを実行するには、Pythonのページの指示に従ってください( Pythonモジュールのインストール

python -m pip install SomePackage

これはpythonシェルではなくコマンドラインから実行されることに注意してください(元の質問の構文エラーの理由)。

48
Dan

下記のコマンドでアップグレードpipを試して再試行してください。

python -m pip install -U pip
0
Karthik

iDLEではなくcmdで入力する必要があります。 IDLEから何かをインストールしたい場合は、プロンプトを表示しないでください。

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

これは端末でpip <commands>のようにpipを呼び出しています。コマンドは、そこに行っているスペースで区切られます。

0
Matthijs990

プログラムでは、次の現在は機能します。 10.0以降のすべての回答が表示されますが、正しい回答はありません。確かに、Kaggle内では、このアプローチは機能します

from pip._internal import main as _main

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