回答:
pipは、Pythonインタープリターではなく、コマンドラインから実行されます。モジュールをインストールするプログラムなので、Pythonからモジュールを使用できます。モジュールをインストールしたら、Pythonシェルを開いて実行できますimport selenium
。
Pythonシェルはコマンドラインではなく、インタラクティブなインタープリターです。コマンドではなくPythonコードを入力します。
pip
pythonインストールのスクリプトディレクトリにあるので、パスに追加する必要があります。に追加C:\Python32\scripts
しますPATH
。インストールした場所に基づいて、必要に応じてパスを変更します。
Pythonシェル(DOS、WindowsのPowerShell)ではなく、コマンドラインを使用します。
C:\Program Files\Python2.7\Scripts> pip install XYZ
最新のインストーラーを使用してPATHにPythonをインストールした場合、pipを実行するためにそのフォルダーにいる必要はありません
MacまたはLinuxのターミナル
$ pip install XYZ
PATH
。私はこれを手動で行う必要があり、インストールパスを%APPDATA%
@sinorocが示唆したように、pipはスレッドを閉じる可能性があるか、インタプリタを再起動して新しくインストールされたパッケージをロードする必要があるため、pipを介してパッケージをインストールする正しい方法は別のプロセスを使用しているため、これはAPIを使用する正しい方法ですsubprocess.check_call([sys.executable, '-m', 'pip', 'install', 'SomeProject'])
が、Pythonでは内部APIにアクセスし、APIを使用していることがわかっている場合は、とにかく内部APIを使用することができます。https://www.lfd.uci.edu/~gohlke/pythonlibs/のような代替リソースを使用して独自のGUIパッケージマネージャーを構築している場合
次のソリューションは、提案の更新に反対票を投じるのではなく、古くなっています。参照としてhttps://github.com/pypa/pip/issues/7498を参照してください。
get_installed_distributions()
やmain
方法はありません。import pip
import pip._internal as pip
更新約 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']
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モジュールを使用することでとにかく。あなたが解凍するpip.exe
か、pip3.exe
それがpython 2.xまたは3.xであるかに関係なく、中には同じ単一ファイルがあります__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
これはpythonシェルではなくコマンドラインから実行されることに注意してください(元の質問の構文エラーの理由)。
最初、私もこの同じ問題に直面しました。Pythonをインストールしました。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>>
ます。ここではパッケージスパイダーをインストールしているので、コマンドラインステートメントは次のように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を呼び出しています。コマンドは、そこに行っているスペースで区切られます。
ImportError: cannot import name main
ピップv19.0.3を使用
プログラム的には、以下が現在機能します。10.0以降のすべての回答が表示されますが、どれも正しい方法ではありません。確かにKaggle内では、このアプローチが機能します
from pip._internal import main as _main
package_names=['pandas'] #packages to install
_main(['install'] + package_names + ['--upgrade'])
以下のコマンドでpipをアップグレードして、再試行してください
python -m pip install -U pip