Skip to content

Commit 0aeaf4d

Browse files
committed
about pip
1 parent 6099830 commit 0aeaf4d

File tree

1 file changed

+110
-4
lines changed

1 file changed

+110
-4
lines changed

python_pd/07_import/05_pip.ipynb

Lines changed: 110 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,119 @@
33
{
44
"cell_type": "markdown",
55
"source": [
6-
"# `pip`"
6+
"# `pip`\r\n",
7+
"\r\n",
8+
"`pip` это система управления пакетами, которая используется для\r\n",
9+
"установки и управлениями программными пакетами, написанными на Python. \r\n",
10+
"Версия дистрибутива Python 3.4+ уже содержит пакет `pip` по умолчанию.\r\n",
11+
"\r\n",
12+
"Запросить справку по всем командам можно используя команду `help`:\r\n",
13+
"\r\n",
14+
"```bash\r\n",
15+
"> python -m pip help\r\n",
16+
"```\r\n",
17+
"\r\n",
18+
"Для просмотра установленных пакетов и их версий можно \r\n",
19+
"использовать команду `list`:\r\n",
20+
"\r\n",
21+
"```bash\r\n",
22+
"> python -m pip list\r\n",
23+
"```\r\n",
24+
"\r\n",
25+
"Используя команду `show` можно просмотреть информацию об установленном\r\n",
26+
"пакете:\r\n",
27+
"\r\n",
28+
"```bash\r\n",
29+
"> python -m pip show numpy\r\n",
30+
"```\r\n",
31+
"\r\n",
32+
"Поиск пакетов по PyPI осуществляет команда `search`. Она также\r\n",
33+
"показывает, какой пакет (его текущую версию и последнюю доступную) из\r\n",
34+
"результатов поиска был установлен.\r\n",
35+
"\r\n",
36+
"```bash\r\n",
37+
"> python -m pip search numpy\r\n",
38+
"```\r\n",
39+
"\r\n",
40+
"Для установки пакета используется команда `install` и `uninstall` для\r\n",
41+
"удаления. Также существует возможность обновить пакет с помощью опции\r\n",
42+
"`--upgrade` или короткого варианта `–U` (`pip install numpy --upgrade`).\r\n",
43+
"При установке можно указать либо определенную версию, либо минимальную\r\n",
44+
"версию, используя `==` и `>=` соответственно.\r\n",
45+
"\r\n",
46+
"```bash\r\n",
47+
"> pip install numpy>=1.16\r\n",
48+
"```\r\n",
49+
"\r\n",
50+
"Используя команду `install`, установка пакета будет произведена в\r\n",
51+
"глобальное окружение в директорию `Lib\\site-packages`. Для\r\n",
52+
"предотвращения этого нужно использовать опцию `--user`, тогда пакет\r\n",
53+
"будет установлен в `Lib\\site-packages` текущего пользователя.\r\n",
54+
"\r\n",
55+
"Существует возможность узнать, для каких из установленных пакетов \r\n",
56+
"вышли новые версии:\r\n",
57+
"\r\n",
58+
"```bash\r\n",
59+
"> pip list -o\r\n",
60+
"```\r\n",
61+
"\r\n",
62+
"Подробнее ознакомиться о `pip` можно в\r\n",
63+
"[официальной документации](https://pip.pypa.io/en/stable/).\r\n",
64+
"\r\n",
65+
"# `requirements.txt`\r\n",
66+
"\r\n",
67+
"В больших проектах с десятками зависимостей держать в голове весь список\r\n",
68+
"и их версий бывает трудно. Также при развертывании таких проектов совсем\r\n",
69+
"не хочется писать множество команд `pip install ...`. Для автоматизации\r\n",
70+
"процесса установки множества зависимостей, а также для удобного контроля\r\n",
71+
"их версий `pip` предоставляет возможность установки пакетов, указанных в\r\n",
72+
"специальном файле `requirements.txt`. Ниже приведен пример содержимого\r\n",
73+
"такого файла.\r\n",
74+
"\r\n",
75+
"```\r\n",
76+
"Django>=3.1.2\r\n",
77+
"geopy>=2.0.0\r\n",
78+
"numpy==1.20.2\r\n",
79+
"plotly\r\n",
80+
"pandas\r\n",
81+
"scipy\r\n",
82+
"```\r\n",
83+
"\r\n",
84+
"Создать файл `requirements.txt` можно с помощью команды `freeze`:\r\n",
85+
"\r\n",
86+
"```bash\r\n",
87+
"> pip freeze > requirements.txt\r\n",
88+
"```"
789
],
890
"metadata": {}
991
},
1092
{
1193
"cell_type": "markdown",
1294
"source": [
13-
"# Аналоги менеджера пакетов `pip`\r\n"
95+
"# Аналоги менеджера пакетов `pip`\r\n",
96+
"\r\n",
97+
"## `pipenv`\r\n",
98+
"\r\n",
99+
"\r\n",
100+
"\r\n",
101+
"## `Poetry`\r\n",
102+
"\r\n",
103+
"```bash\r\n",
104+
"> pip install poetry\r\n",
105+
"```\r\n"
14106
],
15107
"metadata": {}
16108
},
17109
{
18110
"cell_type": "markdown",
19111
"source": [
20-
"# Полезные ссылки"
112+
"# Полезные ссылки\r\n",
113+
"\r\n",
114+
"- [pip (package manager)](https://en.wikipedia.org/wiki/Pip_(package_manager))\r\n",
115+
"- [Зачем использовать `python -m pip`](https://habr.com/ru/company/otus/blog/475392/)\r\n",
116+
"- [`pip` documentation](https://pip.pypa.io/en/stable/)\r\n",
117+
"- [Installing Python Modules](https://docs.python.org/3/installing/index.html)\r\n",
118+
"- [What is the difference between venv, pyvenv, pyenv, virtualenv, virtualenvwrapper, pipenv, etc?](https://stackoverflow.com/questions/41573587/what-is-the-difference-between-venv-pyvenv-pyenv-virtualenv-virtualenvwrappe)"
21119
],
22120
"metadata": {}
23121
}
@@ -26,7 +124,15 @@
26124
"orig_nbformat": 4,
27125
"language_info": {
28126
"name": "python",
29-
"version": "3.9.0"
127+
"version": "3.9.0",
128+
"mimetype": "text/x-python",
129+
"codemirror_mode": {
130+
"name": "ipython",
131+
"version": 3
132+
},
133+
"pygments_lexer": "ipython3",
134+
"nbconvert_exporter": "python",
135+
"file_extension": ".py"
30136
},
31137
"kernelspec": {
32138
"name": "python3",

0 commit comments

Comments
 (0)