Начальное обучение Python (и программирование) основам. Я изо всех сил пытаюсь понять и использовать Python библиотеки - PullRequest
0 голосов
/ 20 апреля 2020

Извиняюсь за неопределенность названия и вопроса, у меня просто много вопросов и я ищу краткое изложение или ресурсы, чтобы помочь мне. Я ознакомился с соответствующей Python документацией и взял Google, насколько смог, но мне нужно общее объяснение.

В чем различия между библиотеками, пакетами и модулями? Модули / библиотеки по умолчанию Python, которые поставляются с языком, по своей природе отличаются от тех, которые вы можете установить? Где хранятся эти библиотеки? Я много слышал об использовании pip и пробовал его с разным успехом для разных библиотек. Стоит также отметить, что в настоящее время я использую PyCharm в качестве своей IDE. Как это меняет мое использование библиотек? Где pip устанавливает библиотеки? Как выглядит файловая иерархия для этих библиотек и Python проектов в целом? Чем отличается IDE от PyCharm? Что такое виртуальная среда и чем она отличается от того, что я предполагаю как Python среду, которую вы используете в обычном текстовом редакторе? Я читал о них, и кажется, что вы можете устанавливать библиотеки только в среду? Где они установлены?

Очевидно, что я не хочу маркированных ответов на каждый из этих вопросов в отдельности, я просто ищу понимания. Я могу подвести итог моего беспорядка «вопроса», задавая вопрос: как взаимодействуют такие элементы, как библиотеки, моя IDE, pip, venv, сам язык и реальные файлы на моем компьютере?

Теперь, когда я Имея базовое понимание синтаксиса языка, необходимо понимать эти основы для разработки реальных проектов любого рода. Мы ценим любое понимание, особенно учитывая фрагментированный характер моего вопроса.

1 Ответ

0 голосов
/ 20 апреля 2020

Ваша IDE вызовет некоторые команды для вас:

  • создание virtualenv при создании нового проекта: python -m venv venv_dir
  • установка пакетов при нажатии на знак плюса в IDE: pip install package
  • может установить переменную PYTHONPATH, которая сообщает python, где искать импортированные пакеты, кроме библиотек в пакетах сайта

Вы всегда можете проверить, где ищет python Установленные пакеты с:

>>> import site
>>> site.getsitepackages()
['/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages', '/usr/lib/python3.6/dist-packages']

Или где pip установил ваш пакет:

pip show package_name

pip3 show requests
...
Location: /usr/lib/python3/dist-packages

python ищет библиотеки относительно их расположения в файловой системе. Этот факт используется для создания отдельного каталога для установленных пакетов и называется virtualenv.

cd venv
tree -L 4
.
├── bin
│   ├── activate
│   ├── activate.csh
│   ├── activate.fish
│   ├── easy_install
│   ├── easy_install-3.6
│   ├── pip
│   ├── pip3
│   ├── pip3.6
│   ├── python -> python3
│   └── python3 -> /usr/bin/python3
├── include
├── lib
│   └── python3.6
│       └── site-packages
│           ├── __pycache__
│           ├── easy_install.py
│           ├── pip
│           ├── pip-9.0.1.dist-info
│           ├── pkg_resources
│           ├── pkg_resources-0.0.0.dist-info
│           ├── setuptools
│           └── setuptools-39.0.1.dist-info

Посмотрите, как python является просто символической ссылкой на систему python, но у нее есть отдельный site-packages каталог.

...