在代码中安装python模块

我需要从PyPi直接在我的脚本中安装一个软件包。 也许有存在模块或distutils(分布,点)能力,让我只是执行像pypi.install('requests')和请求将被安装到我的virtualenv,我不应该在我的shell中键入pip install requests

你也可以使用像这样的东西:

 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? 获取更多信息。

您可以使用“install_requires”选项在自己的包的setup.py中定义依赖模块。

如果您的软件包需要生成一些控制台脚本,那么您可以使用“console_scripts”入口点来生成一个将被放置在“bin”文件夹(例如virtualenv环境)中的包装脚本。

这应该工作:

 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块可以写在第一个try块的else部分,但是在我的问题语句中我必须写两个独立的块。

你可以随时下载

 import os 

然后对所有的terminal命令从那里下载。

喜欢

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

不pipe是什么,我不知道,但如果你甚至不知道如何在terminal做到这一点,你怎么会在python做。