Установка модуля python в код

Мне нужно установить пакет из PyPi прямо в моем скрипте. Может быть, существует модуль или distutils (distribute, pip), который позволяет мне просто выполнить что-то вроде pypi.install('requests') и запросы будут установлены в мой virtualenv, и я не должен вводить pip install requests на pip install requests в моей оболочке?

6 Solutions collect form web for “Установка модуля python в код”

Вы также можете использовать что-то вроде:

 import pip def install(package): pip.main(['install', package]) # Example if __name__ == '__main__': install('argh') 

Если вы хотите использовать pip для установки необходимого пакета и импортировать его после установки, вы можете использовать этот код:

 def install_and_import(package): import importlib try: importlib.import_module(package) except ImportError: import pip pip.main(['install', package]) finally: globals()[package] = importlib.import_module(package) install_and_import('transliterate') 

Если вы установили пакет как пользователь, вы можете столкнуться с проблемой, что вы не можете просто импортировать пакет. См. Как обновить sys.path? для получения дополнительной информации.

Вы определяете зависимый модуль внутри setup.py вашего собственного пакета с опцией «install_requires».

Если ваш пакет должен иметь сгенерированный скрипт, вы можете использовать точку входа «console_scripts», чтобы создать сценарий оболочки, который будет помещен в папку «bin» (например, вашей виртуальной среды).

Это должно работать:

 import subprocess def install(name): subprocess.call(['pip', 'install', name]) 

Надеюсь, этот вопрос по-прежнему остается в силе. Я сделал что-то вроде этого:

  import sys import os import site try: import pip except ImportError: print "installing pip" cmd = "sudo easy_install pip" os.system(cmd) reload(site) try: import requests except ImportError: print "no lib requests" import pip cmd = "sudo pip install requests" print "Requests package is missing\nPlease enter root password to install required package" os.system(cmd) reload(site) 

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

вы всегда можете скачать

 import os 

затем верните все команды терминала, чтобы загрузить его оттуда.

как

 while True: code = input("") os.system("code") 

что бы это ни было, я не уверен, но если вы даже не знаете, как это сделать в терминале, как вы собираетесь делать это на python.

Python - лучший язык программирования в мире.