查看模块时,解释器会在3个主要位置搜索模块:

  • 你的当前工作目录(first)
  • 你的解释器的site-packages位置
    这些目录包含你可能已经安装的第三方python模块(也包括你自己写的模块)
  • 标准库位置
    这些目录包含构成标准库的所有模块

当解释器无法在当前工作目录中找到你的模块,它会查找site-packages位置以及标准库。如果能够把你的模块增加到某个site-packages位置,解释器就能找到它(而不管它的路径是什么)。
模块安装到Site-packages
使用“setuptools”将模块安装到site-packages:

  1. 创建一个发布描述
    这会明确我们希望安装的模块。(一般而言:own.py、setup.py、README.txt)
  2. 生成一个发布文件
    通过在命令行使用python,创建一个可分享的发布文件,其中包含模块的代码。
  3. 安装发布文件
    同样地,在命令行使用python,将发布文件安装到site-packages。

具体步骤:(举例要安装的文件为vsearch.py)
首先,创建必要的安装文件。
(1)新建setup.py文件:
在setup.py同一文件夹中创建README.txt文件(可为空)。
将setup.py、README.txt、vsearch.py放在同一文件夹下,如mymodules。
(2)创建一个发布文件
在cmd下cd到mymodules文件,执行命令

py -3 setup.py sdist

成功后,这三个文件已经合并到一个发布文件中,这是一个可安装的文件,包含了你的模块的源代码,这个文件名为vsearch-1.0.tar。
然后,就可以看到dist文件,在其中找到这个tar(zip)文件。
(3)安装发布文件
在dist文件夹找到tar文件后,在文件夹按住shift不放,单击鼠标右键,进入命令窗口,输入命令:

py -3 -m pip install vsearch-1.0.tar.gz

注意tar后面还有后缀名,一定要写全!
下面就可以在任何程序里使用import vsearch了。

head first python

Python之模块增加到site-packages相关推荐

  1. Python基础 - 模块 (Module) 和 包(Packages)

    1. 模块 (Module) 1. 定义:一般情况下,一个.py文件就称作一个模块 2. 导入方式:[其中,括号表示可写可不写] ① import 模块名1 (as 别名1) , 模块名2 (as 别 ...

  2. python virtualenv报错:unrecognized arguments: −−system−site−packages

    python创建虚拟环境时报错:virtualenv: error: unrecognized arguments: −−system−site−packages 解决方法 看网上有很多说把什么exp ...

  3. 详解Python模块化——模块(Modules)和包(Packages)

    文章目录 引言 Python Modules模块 导入模块 ①导入整个模块 ②导入模块中的特定函数 ③导入模块中的所有函数 给导入的模块一个别名 单独运行模块 加速模块加载 Python Packag ...

  4. Python 常用模块简介

    模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...

  5. [转]python各模块的学习

    [-] 01 关于本书 02 代码约定 03 关于例子 04 如何联系我们 1 核心模块 11 介绍 111 内建函数和异常 112 操作系统接口模块 113 类型支持模块 114 正则表达式 115 ...

  6. python 各种模块学习

    from:https://blog.csdn.net/weiwangchao_/article/details/70570508 转载:.... Python的模块大全,很全,有详细介绍! 另外附Py ...

  7. python高级-模块(14)

    一.python中的模块 有过C语言编程经验的朋友都知道在C语言中如果要引用sqrt函数,必须用语句#include <math.h>引入math.h这个头文件,否则是无法正常进行调用的. ...

  8. python logging模块使用_python logging模块使用

    近来再弄一个小项目,已经到收尾阶段了.希望加入写log机制来增加程序出错后的判断分析.尝试使用了python logging模块. #-*- coding:utf-8 -*- importloggin ...

  9. 聊聊Python ctypes 模块(转载)

    聊聊Python ctypes 模块(转载) https://zhuanlan.zhihu.com/p/20152309?columnSlug=python-dev 作者:Jerry Jho 链接:h ...

最新文章

  1. Spring AOP注解为什么失效?90%Java程序员不知道
  2. Spring/MVC映射WEB-INF下的文件(img、css、js等)
  3. 参会邀请 - CCKS2020 | 2020全国知识图谱与语义计算大会(CCKS2020)明日开幕
  4. Python文件输入输出
  5. Interactive Data Display如何显示菜单?
  6. 小米max android7 root,小米Max第三方Rom-Lineage OS
  7. 会计计算机学什么软件有哪些,会计学习软件
  8. 2020网络安全NISP一级题库
  9. vue动态绑定背景图片的透明度
  10. 《构建高可用Linux服务器 第3版》—— 1.5 Linux服务器的优化
  11. vue中的@click.native.prevent,点击事件加上native.prevent究竟有什么用呢?
  12. 小米手机如何更换铃声和微信提示音
  13. 安徽农商行计算机类笔试考什么,2019安徽农商行社会招聘:笔试考什么?如何复习? 【附带笔试模拟题】...
  14. Java语言基础大合集
  15. Linux三剑客用法整理
  16. 单相半波可控整流电路仿真设计(任务书+lunwen+MATLAB仿真源文件)
  17. HTML table 属性 运用实例
  18. 开源的python有限元软件_python有限元
  19. Office365 - Stream提示无法upload的原因
  20. b级计算机机房标准,B级电子信息系统机房技术要求(国标GB50174–2008)

热门文章

  1. C++ map的三种不同插入元素方法
  2. C++ 个人财务收支管理系统
  3. 如何在Linux中查看mac地址
  4. Excel实战:高级分列日期和星期,并对日期编号
  5. 数据库三范式3NF指什么?
  6. win10固态硬盘还需要分区吗? 不需要
  7. 中式红木装修,最适合别墅的装修风格!
  8. 什么是前端跨域,怎么解决跨域问题
  9. Redis主从哨兵集群
  10. WASM VS EVM,波卡的选择预示了公链未来