2016-05-28 4 views
4

Ich schrieb ein Skript, das Selenium verwendet, ich installiert Selenium durch Pip. Gibt es eine Möglichkeit, dieses Skript an andere zu verteilen, ohne dass sie Selenium per Pip installieren müssen?Verteilen Python-Skript, das von einem Paket abhängt

Ich war auf der Suche an:

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

Würde es helfen, wenn ich die Quelle Verteilung von Selen aus PyPI in meinem Projektordner enthalten? Damit die Leute einfach auf die install.py der Quelldistribution klicken müssen, um Selenium zu installieren?

+0

Sie können kein anderes Paket mit Ihrem Paket verpacken, es sei denn, Sie möchten alle Quellen/Binärdateien in Ihr Skript einschließen. Sie * können * Selen und andere Abhängigkeiten installieren, wenn Ihr Skript von einem Paketmanager wie 'pip' installiert wird, so dass' pip install your_pkg' alle fehlenden/veralteten Abhängigkeiten installiert. – EvilTak

Antwort

4

Sie können setuptools verwenden und das Schlüsselwort verwenden.

So:

from setuptools import setup 

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

Siehe das Tutorial here

Dann, wenn sie Ihr Paket/Modul mit pip installieren, Selen wird auch installiert werden.

0

Ich war nicht in der Lage eine wirkliche Antwort auf dieses Problem zu finden:

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') 

ich so tat es, es Verwendung von Pip macht. Jetzt können die Leute dieses Skript einfach ausführen und sowohl pip als auch selenium werden für sie installiert, aber ich bin mir nicht sicher, ob dies der richtige Weg ist oder nicht.

Verwandte Themen