热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何下载python模块_如何在运行时安装和导入Python模块?

您可以导入pip而不是使用子进程:importpipdefinstall(package):pip.main([install,package])#Examp

您可以导入pip而不是使用子进程:

import pip

def install(package):

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

# Example

if __name__ == '__main__':

try:

import pexpect

except ImportError:

install('pexpect')

import pexpect

另一个需要:

import pip

def import_with_auto_install(package):

try:

return __import__(package)

except ImportError:

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

return __import__(package)

# Example

if __name__ == '__main__':

pexpect = import_with_auto_install('pexpect')

print(pexpect)

[编辑]

您应该考虑使用requirements.txt和pip.好像你正试图自动化部署(这很好!),在我的工具带中我还有virtualenvwrapper,vagrant和ansible.

这是我的输出:

(test)root@vagrant:~/test# pip uninstall pexpect

Uninstalling pexpect:

/usr/lib/python-environments/test/lib/python2.6/site-packages/ANSI.py

/usr/lib/python-environments/test/lib/python2.6/site-packages/ANSI.pyc

/usr/lib/python-environments/test/lib/python2.6/site-packages/FSM.py

/usr/lib/python-environments/test/lib/python2.6/site-packages/FSM.pyc

/usr/lib/python-environments/test/lib/python2.6/site-packages/fdpexpect.py

/usr/lib/python-environments/test/lib/python2.6/site-packages/fdpexpect.pyc

/usr/lib/python-environments/test/lib/python2.6/site-packages/pexpect-2.4-py2.6.egg-info

/usr/lib/python-environments/test/lib/python2.6/site-packages/pexpect.py

/usr/lib/python-environments/test/lib/python2.6/site-packages/pexpect.pyc

/usr/lib/python-environments/test/lib/python2.6/site-packages/pxssh.py

/usr/lib/python-environments/test/lib/python2.6/site-packages/pxssh.pyc

/usr/lib/python-environments/test/lib/python2.6/site-packages/screen.py

/usr/lib/python-environments/test/lib/python2.6/site-packages/screen.pyc

Proceed (y/n)? y

Successfully uninstalled pexpect

(test)root@vagrant:~/test# python test.py

Downloading/unpacking pexpect

Downloading pexpect-2.4.tar.gz (113Kb): 113Kb downloaded

Running setup.py egg_info for package pexpect

Installing collected packages: pexpect

Running setup.py install for pexpect

Successfully installed pexpect

Cleaning up...



推荐阅读
  • 在 Windows 10 系统下配置 Python 3 和 OpenCV 3 的环境时,建议使用 Anaconda 分发版以简化安装过程。Anaconda 可以从其官方网站(https://www.anaconda.com/download)下载。此外,本文还推荐了几本关于 Python 和 OpenCV 的专业书籍,帮助读者深入理解和应用相关技术。 ... [详细]
  • 使用 MyEclipse 和 TestNG 测试框架在 Java 中高效进行单元测试
    通过MyEclipse集成TestNG测试框架,可以在Java开发中高效地进行单元测试。本文介绍了在JDK 1.8.0_121和MyEclipse 10.0离线环境下配置和使用TestNG的具体步骤,帮助开发者提高测试效率和代码质量。 ... [详细]
  • 本文详细介绍了如何在Linux系统中搭建51单片机的开发与编程环境,重点讲解了使用Makefile进行项目管理的方法。首先,文章指导读者安装SDCC(Small Device C Compiler),这是一个专为小型设备设计的C语言编译器,适合用于51单片机的开发。随后,通过具体的实例演示了如何配置Makefile文件,以实现代码的自动化编译与链接过程,从而提高开发效率。此外,还提供了常见问题的解决方案及优化建议,帮助开发者快速上手并解决实际开发中可能遇到的技术难题。 ... [详细]
  • voc生成xml 代码
    目录 lxmlwindows安装 读取示例 可视化 生成示例 上面是代码,下面有调用示例 api调用代码,其实只有几行:这个生成代码也很简 ... [详细]
  • 利用 Python 实现 Facebook 账号登录功能 ... [详细]
  • RK算法通过比较两个字符串的哈希值来实现快速匹配,但即使哈希值相同,也不能确保两字符串完全一致,仍需进行逐字符对比以确认。此过程的时间复杂度为O(n)。此外,RK算法在文本搜索、模式识别等领域有广泛应用,并可通过多种优化策略提高其效率和准确性。 ... [详细]
  • Android 图像色彩处理技术详解
    本文详细探讨了 Android 平台上的图像色彩处理技术,重点介绍了如何通过模仿美图秀秀的交互方式,利用 SeekBar 实现对图片颜色的精细调整。文章展示了具体的布局设计和代码实现,帮助开发者更好地理解和应用图像处理技术。 ... [详细]
  • 本题库精选了Java核心知识点的练习题,旨在帮助学习者巩固和检验对Java理论基础的掌握。其中,选择题部分涵盖了访问控制权限等关键概念,例如,Java语言中仅允许子类或同一包内的类访问的访问权限为protected。此外,题库还包括其他重要知识点,如异常处理、多线程、集合框架等,全面覆盖Java编程的核心内容。 ... [详细]
  • 本文探讨了在Android应用中实现动态滚动文本显示控件的优化方法。通过详细分析焦点管理机制,特别是通过设置返回值为`true`来确保焦点不会被其他控件抢占,从而提升滚动文本的流畅性和用户体验。具体实现中,对`MarqueeText.java`进行了代码层面的优化,增强了控件的稳定性和兼容性。 ... [详细]
  • 深入解析Python中的循环双向链表数据结构
    本文详细探讨了Python中循环双向链表的数据结构,包括其定义、特点及应用场景。文章首先介绍了循环双向链表的基本概念,随后深入分析了其核心操作,如节点的插入、删除和遍历等。最后,通过具体的Python代码示例,展示了如何高效地实现这些操作,帮助读者全面理解并掌握这一重要数据结构。 ... [详细]
  • 如何在 Java LinkedHashMap 中高效地提取首个或末尾的键值对? ... [详细]
  • 优化Node.js项目:有效管理和清理依赖项
    在Node.js项目中,有效管理和清理依赖项是提升性能和安全性的重要步骤。为了确保项目中仅保留必要的库,应定期检查并移除`node_modules`目录下不再使用的包。同时,所有必需的依赖项都应在`package.json`文件中明确列出,以保证项目的可维护性和可复现性。此外,利用如`npm prune`等工具可以帮助自动化这一过程,进一步提高效率。 ... [详细]
  • 技术日志:深入探讨Spark Streaming与Spark SQL的融合应用
    技术日志:深入探讨Spark Streaming与Spark SQL的融合应用 ... [详细]
  • 在Spring框架中,基于Schema的异常通知与环绕通知的实现方法具有重要的实践价值。首先,对于异常通知,需要创建一个实现ThrowsAdvice接口的通知类。尽管ThrowsAdvice接口本身不包含任何方法,但开发者需自定义方法来处理异常情况。此外,环绕通知则通过实现MethodInterceptor接口来实现,允许在方法调用前后执行特定逻辑,从而增强功能或进行必要的控制。这两种通知机制的结合使用,能够有效提升应用程序的健壮性和灵活性。 ... [详细]
  • Java 8 引入了 Stream API,这一新特性极大地增强了集合数据的处理能力。通过 Stream API,开发者可以更加高效、简洁地进行集合数据的遍历、过滤和转换操作。本文将详细解析 Stream API 的核心概念和常见用法,帮助读者更好地理解和应用这一强大的工具。 ... [详细]
author-avatar
沉醉在温柔箱
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有