2013-11-13 4 views
1

У меня есть файл python.py, который я хотел бы запустить, на любом компьютере, на котором установлен python.Сделать файл python, который не зависит от установленных пакетов

Однако программа использует несколько пакетов, которые я установил через pip (BeautifulSoup и Selenium).

Есть ли способ сделать один файл python, который будет автоматически включать все необходимое из этих пакетов в .py-файл?

Спасибо!

+0

nope, т.к. f.ex. bs зависит от lxml, который является c-расширением, и либо скомпилирован, либо установлен из двоичных файлов. вам лучше добавить зависимости к вашему setup.py – alko

ответ

0

Нет ничего подходящего решения. Было бы лучше использовать существующие механизмы - в качестве зависимостей, определенных в setup.py.

Если вам действительно нужно, чтобы сделать это, вы могли бы выполнить соответствующие сценарии с использованием subprocess.call():

  1. Проверьте pip доступен. Если нет, завершите программу.
  2. Проверить, есть ли virtualenv. Если да, создайте и активируйте новую среду.
  3. Позвоните по телефону pip, чтобы установить необходимые пакеты.

Если virtualenv не установлен, для этого потребуются привилегии от root.

Смежные вопросы