Как посмотреть какие библиотеки использует программа python

Я нашел один проект, в котором конечно, есть множество библиотек и нет файла requirements.txt, мне нужно создать этот файл, я пробовал сделать это через pip freeze, но он не видит никаких библиотек. Как можно решить эту проблему?

  • Вопрос задан более двух лет назад
  • 1287 просмотров

Комментировать
Решения вопроса 1

bituke pip freeze нужно запускать на сервере где сейчас работает проект. Если вы его скачаете себе на компьютер и выполните pip freeze то разумеется ничего не получите. Если доступа к серверу нет, то действия следующие:
1. В файле settings.py вверху есть указание на версию Django, что то вроде этого «Generated by ‘django-admin startproject’ using Django 2.2.16.» Для примера возьмем версию 2.2.16.
2. На сайте https://pypi.org/ находим пакет Django, далее переходим в «История выпусков», находим там версию 2.2.16, дата 1 сентября 2020 года.
3. Обходим весь код сайта и ищем там импортирование пакетов, например from celery import shared_task. Значит в проекте используется пакет celery.

Python ТОП 10 крутейших библиотек!


4. Идем на сайт https://pypi.org/ и находим пакет celery, далее переходим «История выпусков», и ищем последнюю версию которая была выпущена до 1 сентября 2020 года, для нас это версия 3.1 от 4 августа 2020 года.
Шаги 3 и 4 повторяем до тех пор пока не будут установлены все зависимости.

Читайте также:
Как сделать irfanview программой по умолчанию

Ответ написан более двух лет назад
Комментировать
Нравится 1 Комментировать
Ответы на вопрос 1

Altry

pip freeze > requirements.txt
Вам надо указать куда фризить.

Либо если вы нашли его на гите, возможно там есть папка venv, а в ней можно найти все установленные пакеты. Но это вряд ли.

Ответ написан более двух лет назад

Да не работает это. В проекте куча библиотек, я создаю виртуалку, перехожу в директорию проекта, пишу pip freeze > requirements.txt, но он не видит никаких библиотек.

пробовал менять питон, но это не помогло.

P.S. У меня у самого нет библиотек, которые требует этот проект, я думал, что можно их установить все просто одной командой. Но это не выходит, я так понимаю их нужно в ручную устанавливать, если нет файла requirements.txt?

Источник: qna.habr.com

Список загруженных и скомпилированных модулей в Python.

Атрибут sys.modules представляет собой словарь, который отображает имена модулей на модули, которые уже были загружены.

Этим можно манипулировать для принудительной перезагрузки модулей и других хитростей. Однако замена словаря не обязательно будет работать должным образом, а удаление важных элементов из словаря может привести к сбою Python.

>>> import sys >>> sys.modules.keys() # dict_keys([‘sys’, ‘builtins’, ‘encodings’, ‘codecs’, # . # . # ‘io’, ‘os’, ‘stat’,, ‘readline’, ‘atexit’, ‘rlcompleter’])

sys.builtin_module_names :

Атрибут sys.builtin_module_names представляет собой кортеж строк, дающий имена всех модулей, которые скомпилированы в этот интерпретатор Python.

Как посмотреть какие пакеты установлены в текущем окружении Python

Эта информация недоступна другим способом — sys.modules.keys() отображает только импортированные модули.

>>> import sys >>> sys.builtin_module_names # (‘_abc’, ‘_ast’, ‘_codecs’, ‘_collections’, # . # . # ‘itertools’, ‘marshal’, ‘posix’, # ‘pwd’, ‘sys’, ‘time’, ‘xxsubtype’)

sys.stdlib_module_names :

Атрибут sys.stdlib_module_names представляет собой набор строк, содержащих имена стандартных библиотечных модулей.

Читайте также:
Что такое программа развития дома культуры

Вывод одинаков на всех платформах. Также перечислены модули, которые недоступны на некоторых платформах и модули, отключенные при сборке Python. Перечислены все типы модулей: чистый Python, встроенные, замороженные frozen и расширяемые модули. Тестовые модули исключены.

Для пакетов указан только основной пакет: подпакеты и подмодули не указаны. Например, в списке указан пакет электронной почты email , но не указаны подпакет email.mime и субмодуль email.message .

Новое в версии 3.10.

  • ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
  • События аудита CPython.
  • Функция argv модуля sys.
  • Имя используемой OS.
  • Различные сведения о версии Python.
  • Каталоги и пути интерпретатора Python.
  • Кодировка, используемая Python.
  • Настройка рекурсии.
  • Функции трассировки и профилирования кода модуля sys.
  • Функция breakpointhook() модуля sys.
  • Объекты stdin, stdout, stderr модуля sys.
  • Функции exc_info() и exception() модуля sys.
  • Функция getrefcount() модуля sys.
  • Атрибуты path и path_hooks модуля sys.
  • Список загруженных и скомпилированных модулей.
  • Атрибут float_info модуля sys.
  • Атрибут int_info модуля sys.
  • Атрибут maxsize модуля sys.
  • Атрибут byteorder модуля sys.
  • Функция exit() модуля sys.
  • Функция getsizeof() модуля sys.
  • Атрибут dont_write_bytecode модуля sys.
  • Функция warnoptions() модуля sys.
  • Переменные last_type, last_value, last_traceback.

Источник: docs-python.ru

Python-сообщество

[RSS Feed]

  • Начало
  • » Python для новичков
  • » Как в интерпретаторе получить полную информацию о библиотеках и расшифровать ее?

#1 Фев. 19, 2014 18:58:29

Как в интерпретаторе получить полную информацию о библиотеках и расшифровать ее?

Как в интерпретаторе получить полную информацию о библиотеках и расшифровать ее?
Какие команды нужно вводить dir(urllib) или help(urllib)? Где почитать можно об этом?

#2 Фев. 19, 2014 19:00:14

Как в интерпретаторе получить полную информацию о библиотеках и расшифровать ее?

Например что значит эти записи ?

[code python]>>> import urllib
>>> dir(urllib)
[code python]>>> import urllib
>>> dir(urllib)
[‘__builtins__’, ‘__cached__’, ‘__doc__’, ‘__file__’, ‘__initializing__’, ‘__loader__’, ‘__name__’, ‘__package__’, ‘__path__’, ‘error’, ‘parse’, ‘request’, ‘response’]
>>>
[/code]

Читайте также:
Как узнать цветовой охват матрицы ноутбука программа

#3 Фев. 19, 2014 20:27:59

Как в интерпретаторе получить полную информацию о библиотеках и расшифровать ее?

Ну знаете, жаловаться на Документацию это перебор.

#4 Фев. 19, 2014 20:56:49

Как в интерпретаторе получить полную информацию о библиотеках и расшифровать ее?

ingfa_1981
Какие команды нужно вводить dir(urllib) или help(urllib)?

обе
dir() показывает пространство имён объекта
help() проходит по дереву, собирая docstring’и

print(object.__doc__)
>>> dir(print) [‘__call__’, ‘__class__’, ‘__delattr__’, ‘__dir__’, ‘__doc__’, ‘__eq__’, ‘__format__’, ‘__ge__’, ‘__getattribute__’, ‘__gt__’, ‘__hash__’, ‘__init__’, ‘__le__’, ‘__lt__’, ‘__module__’, ‘__name__’, ‘__ne__’, ‘__new__’, ‘__qualname__’, ‘__reduce__’, ‘__reduce_ex__’, ‘__repr__’, ‘__self__’, ‘__setattr__’, ‘__sizeof__’, ‘__str__’, ‘__subclasshook__’] >>> >>> dir(print.__call__) [‘__call__’, ‘__class__’, ‘__delattr__’, ‘__dir__’, ‘__doc__’, ‘__eq__’, ‘__format__’, ‘__ge__’, ‘__getattribute__’, ‘__gt__’, ‘__hash__’, ‘__init__’, ‘__le__’, ‘__lt__’, ‘__name__’, ‘__ne__’, ‘__new__’, ‘__objclass__’, ‘__qualname__’, ‘__reduce__’, ‘__reduce_ex__’, ‘__repr__’, ‘__self__’, ‘__setattr__’, ‘__sizeof__’, ‘__str__’, ‘__subclasshook__’] >>> >>> print(print.__doc__, print.__call__.__doc__, sep=’n***n’) print(value, . , sep=’ ‘, end=’n’, file=sys.stdout, flush=False) Prints the values to a stream, or to sys.stdout by default. Optional keyword arguments: file: a file-like object (stream); defaults to the current sys.stdout. sep: string inserted between values, default a space. end: string appended after the last value, default a newline. flush: whether to forcibly flush the stream. *** x.__call__(. ) x(. ) >>> >>> help(print) >>> >>> help(print.__call__) >>>

а в документации (docs.python.org) всё подробно

Отредактировано py.user.next (Фев. 19, 2014 21:00:02)

Источник: python.su

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru