Python 5 -- 模块
模块 - 模块就是包含函数的文件,用于共享代码。
- 导入已有模块
# 导入整个模块
import random # 导入整个模块
print(random.randint(0,255)) #调用模块中的某个方法 # 导入模块的某个方法
from random import randint # 导入模块中的某个方法
print(randint(0,255)) # 调用模块的导入方法
- 导入模块时搜索的模块位置
导入模块时,会从以下位置搜索模块
- 当前工作目录
- 解释器所在的site-packages位置 - 第三方Python模块默认地址(这是最好的选择)
- 标准库位置 - 这些目录包含构成标准库的所有模块
- 发布自定义模块到 site-packages
例如,我们现在有一个vsearch.py的模块文件,放在E:\Code\PythonLearning\MyModules目录下。
通过以下步骤可以将模块安装到Site-packages位置:
1. 创建一个发布描述->用来明确我们希望setuptools安装到模块。
在E:\Code\PythonLearning\MyModules下新建两个文件,setup.py和Readme.txt.
Setup.py文件内容如下:
from setuptools import setup setup(
name ='vsearch', # 发布包的名字,一般为模块名
version='1.0',
description='Search letters from pharse',
author='XXXX',
author_mail='XXXX@XXX.com',
url='',
py_modules='[vsearch]' # 包含在这个包中的所有py文件列表
)
2. 生成一个发布文件->通过在命令行上使用Python,创建一个可共享的发布文件,其中包含模块的代码。
# 进去cmd,用管理员权限运行一下代码来生成发布包
E:\Code\PythonLearning\MyModules>py -3 setup.py sdist
3. 安装发布文件->将发布文件安装到site-packages。
进去disk目录后运行如下命令。
E:\Code\PythonLearning\MyModules\dist>py -3 -m pip install vsearch-1.0.tar.gz
看到Successfully installed vsearch-1.0说明安装成功。
此时在E:\Python36-32\Lib\site-packages文件夹下可以看到安装的模块。

- 安装发布文件时碰到问题:
Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: 'E:\\Code\\PythonLearning\\MyModules\\dist\\vsearch-1.0.tar'

解决方案:
原因是因为文件隐藏了后缀名,所以我们输入的文件名其实不全,导致找不到。
可以用dir查看详细的文件名,或者将文件显示后缀名后,把原命令中文件名改为带后缀的完成名称即可。
如改为
py -3 -m pip install vsearch-1.0.tar.gz
Python 5 -- 模块的更多相关文章
- Python标准模块--threading
1 模块简介 threading模块在Python1.5.2中首次引入,是低级thread模块的一个增强版.threading模块让线程使用起来更加容易,允许程序同一时间运行多个操作. 不过请注意,P ...
- Python的模块引用和查找路径
模块间相互独立相互引用是任何一种编程语言的基础能力.对于“模块”这个词在各种编程语言中或许是不同的,但我们可以简单认为一个程序文件是一个模块,文件里包含了类或者方法的定义.对于编译型的语言,比如C#中 ...
- Python Logging模块的简单使用
前言 日志是非常重要的,最近有接触到这个,所以系统的看一下Python这个模块的用法.本文即为Logging模块的用法简介,主要参考文章为Python官方文档,链接见参考列表. 另外,Python的H ...
- Python标准模块--logging
1 logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等:相比print,具备如下优点: 可以通过设置不同 ...
- python基础-模块
一.模块介绍 ...
- python 安装模块
python安装模块的方法很多,在此仅介绍一种,不需要安装其他附带的pip等,python安装完之后,配置环境变量,我由于中英文分号原因,环境变量始终没能配置成功汗. 1:下载模块的压缩文件解压到任意 ...
- python Queue模块
先看一个很简单的例子 #coding:utf8 import Queue #queue是队列的意思 q=Queue.Queue(maxsize=10) #创建一个queue对象 for i in ra ...
- python logging模块可能会令人困惑的地方
python logging模块主要是python提供的通用日志系统,使用的方法其实挺简单的,这块就不多介绍.下面主要会讲到在使用python logging模块的时候,涉及到多个python文件的调 ...
- Python引用模块和查找模块路径
模块间相互独立相互引用是任何一种编程语言的基础能力.对于"模块"这个词在各种编程语言中或许是不同的,但我们可以简单认为一个程序文件是一个模块,文件里包含了类或者方法的定义.对于编译 ...
- Python Paramiko模块与MySQL数据库操作
Paramiko模块批量管理:通过调用ssh协议进行远程机器的批量命令执行. 要使用paramiko模块那就必须先安装这个第三方模块,仅需要在本地上安装相应的软件(python以及PyCrypto), ...
随机推荐
- vue的生命周期(lifecycle)
这边转载一篇文章,个人认为写的不错,代码举了个例子很生动. https://segmentfault.com/a/1190000010336178
- mysql之show engine innodb status解读(转)
add by zhj: 我第一次知道这个命令是线上服务出了问题,然后同事用这个命令去查看死锁.但用这个命令看死锁有一定的局限性,它只能看到最后一次死锁, 而且只能看到死锁环中的两个事务所执行的最后一条 ...
- swift 桥接 Bridging 的创建和使用
swift编程时,大概率会用到OC的文件,这时就要使用swift与oc的桥接文件.桥接文件以 XXXX-Bridging-header.h 这样子的文件名形式为标准,XXXX是你的项目名字. 具体 ...
- 谈谈javascript数组排序方法sort()的使用,重点介绍参数使用及内部机制?
语法:arrayObject.sort(sortby) 参数sortby可选,规定排序顺序,必须是函数: 注:如果调用该方法时没有使用参数,将按字符编码的顺序进行排序,要实现这一点,首先应把数组的元素 ...
- 28-1-LTDC显示中英文
1.字符编码 由于计算机只能识别 0 和 1,文字也只能以 0 和 1 的形式在计算机里存储,所以我们需要对文字进行编码才能让计算机处理,编码的过程就是规定特定的 01 数字串表示特定的文字,最简单的 ...
- XtraBackup之踩过的坑
xtrabackup相信目前使用已经非常广泛了,备份innodb表的首选工具,但是其中还是有点小坑,虽然发生的概率不大,但是我还是踩坑了.关于xtrabackup的详细参考请查阅官方文档http:// ...
- 一行js弹窗代码就能设计漂亮的弹窗广告
接到一个设计需求,要求xmyanke在网站右侧挂一个弹窗广告宣传最近的活动,找了半天都没看到合适的,自己鼓捣了一行js弹窗代码就能设计漂亮的弹窗广告,来瞧一下,欢迎拍砖提意见,js弹窗广告代码如下: ...
- Ubuntu如何修改默认python版本为python3
修改默认python版本 Ubuntu系统内置python2.7版本,默认运行python就是运行python2.7.现在很多人都是用python3作为开发语言,我们需要修改python的默认版本为p ...
- 下载以及安装VMware Player Pro 64位
1.下载地址:https://download3.vmware.com/software/wkst/file/VMware-workstation-full-14.0.0-6661328.exe 2. ...
- jsp在select中的option中编写if标签
<select onchange="lxx(this)"> <option value="">全部</option> < ...