Відповіді:
pip запускається з командного рядка, а не інтерпретатора Python. Це програма, яка встановлює модулі, тому ви можете використовувати їх з Python. Після встановлення модуля, ви можете відкрити оболонку Python і зробити import selenium
.
Оболонка Python не є командним рядком, це інтерактивний інтерпретатор. Ви вводите в нього код Python, а не команди.
pip
буде в каталозі сценаріїв встановлення вашого python, тому ви захочете додати його до свого шляху. Додайте C:\Python32\scripts
до свого PATH
. Змініть шлях за необхідності залежно від того, де його встановили.
Використовуйте командний рядок, а не оболонку Python (DOS, PowerShell в Windows).
C:\Program Files\Python2.7\Scripts> pip install XYZ
Якщо ви встановили Python у свій PATH за допомогою останніх інсталяторів, вам не потрібно знаходитись у цій папці, щоб запустити 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, наприклад, якщо ви будуєте власного менеджера пакетів GUI з альтернативними ресурсами, як-от https://www.lfd.uci.edu/~gohlke/pythonlibs/
Наступний сулютінг - ВІД ДАТИ, замість того, щоб зволікати пропонувати оновлення. див. https://github.com/pypa/pip/isissue/7498 для довідок.
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']
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
ви фактично використовуєте інтерпретатор 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())
Щоб запустити pip в Python 3.x, просто дотримуйтесь інструкцій на сторінці Python : Встановлення модулів Python .
python -m pip install SomePackage
Зауважте, що це запускається з командного рядка, а не оболонки python (причина помилки синтаксису в оригінальному запитанні).
Спочатку я теж зіткнувся з цією самою проблемою, я встановив python, і коли я запускаю 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
і ось виходить мій запущений екран ..
і я сподіваюся, що ми зробили це з цим !!
вам потрібно набрати його в cmd, а не в IDLE. becuse IDLE не є командним рядком, якщо ви хочете встановити щось із IDLE, введіть це
>>>from pip.__main__ import _main as main
>>>main(#args splitted by space in list example:['install', 'requests'])
це викликає pip, як pip <commands>
у терміналі. Команди будуть розділені пробілами, до яких ви робите там.
ImportError: cannot import name main
використовуючи pip 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