2016-05-28 3 views
4

Я написал сценарий, который использует Selenium, я установил Selenium через pip. Есть ли способ, которым я могу распространять этот сценарий другим, не имея их для установки Selenium через pip?Распространение скрипта Python, который зависит от пакета

Я смотрел на:

https://pypi.python.org/pypi/selenium#downloads

Будет ли это поможет, если я включил распределение источник селена из PyPI в моей папке проекта? Чтобы людям просто нужно было щелкнуть на исходном дистрибутиве install.py, чтобы установить Selenium?

+0

Вы не можете упаковать другой пакет с вашим пакетом, если вы не хотите включать все его исходные/двоичные файлы в свой скрипт. Вы можете * установить 'selenium' и любые другие зависимости, когда ваш скрипт устанавливается диспетчером пакетов, например' pip', так что 'pip install your_pkg' устанавливает все отсутствующие/устаревшие зависимости. – EvilTak

ответ

4

Вы можете использовать setuptools и использовать ключевое слово install_requires.

Как это:

from setuptools import setup 

setup(
    # options 
    install_requires = ['selenium'], 
) 

Смотрите учебник here

Затем, когда они устанавливают свой пакет/модуль, используя пип, также будет установлен селен.

0

Я не смог найти реальный ответ на эту проблему:

import os 
import sys 

os.system("python get-pip.py") 

try: 
    import pip 
except ImportError: 
    input('Could not install pip, please enter any key to quit this window.') 
    sys.exit() 


def install(package): 
    pip.main(['install', package]) 

if __name__ == '__main__': 
    install('selenium') 

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

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