0

можно ли выкачать библиотеки которые используются в скрипте, положить их как-то рядом, или указать их путь, что бы в дальнейшем скрипт за ними не ходил в интернеты, и использовал те, которые уже скачаны?

4
  • Что вам даст ответ "можно" или "нельзя"?
    – V.March
    18 дек 2019 в 15:33
  • 1
    А скрипт и не ходит в интернеты за модулями. 18 дек 2019 в 15:55
  • как ни крути когда ты устанавливаешь модуль он скачивается на пк,можешь найти его и использовать как душе угодно.
    – krytoy4el
    18 дек 2019 в 16:00
  • @Эникейщик Он бегает.
    – Ver Nick
    18 дек 2019 в 21:04

2 ответа 2

1

Wheel - современный формат распространения пакетов в Python, который пришел на смену egg.

Для начала вам понадобится последняя версия pip

pip3 install -U pip

И пакет для поддержки колес.

pip3 install wheel

Удобно будет создать директорию, куда будут упакованы whl пакеты.

mkdir whls

Упакуйте все зависимости проекта с помощью wheel.

pip3 wheel --wheel-dir=whls/ -r requirements.txt --pre --allow-all-external

эта команда упакует все зависимости проекта в директрию whls, которую вы передаете кому-то. Стоит обратить внимание что некоторые пакеты, например из VCS упакованы не будут, для них требуется в ручную создавать whl через setup.py bdist_wheel.

cd venv/src/package_name  # идем в директорию с исходниками пакета
python setup.py bdist_wheel --dist-dir /project/dir/whls/  # упаковываем его в whl

Установить пакеты:

pip3 install --no-index --find-links=/whls -r requirements.txt

Также можно поднять локальный репозиторий PyPi, например https://pypi.org/project/pypiserver/, и складировать в него все пакеты проекта, чтобы они были доступны всей команде.

Также сам pip имеет локальный кэш с whl пакетами, которые он скачивает при установке зависимостей, он не будет ходить за пакетом если требуемая версия пакета имеется в кэше.

0

Все модули python (как стандартные, так и установленные пользователем) находятся в папке
% корневая папка Python %/Lib.
У меня python установлен в D:/Python34/. Тогда модули нужно искать в D:/Python34/Lib.
Вы можете скопировать оттуда нужные вам модули в ваш проект, и в таком случае импортировать модуль с помощью конструкции import .название.

Примеры такого импорта:

import .math
from .tkinter import *

Соответственно, в таком случае вы должны при передаче файлов проекта на другой компьютер передавать и каталоги модулей, так как теперь они являются частью вашего проекта, равно как и файлы проекта, которые вы создаёте сами.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками или задайте свой вопрос.