模块 - 模块就是包含函数的文件,用于共享代码。

  • 导入已有模块
# 导入整个模块
import random # 导入整个模块
print(random.randint(0,255)) #调用模块中的某个方法 # 导入模块的某个方法
from random import randint # 导入模块中的某个方法
print(randint(0,255)) # 调用模块的导入方法
  • 导入模块时搜索的模块位置

导入模块时,会从以下位置搜索模块

  1. 当前工作目录
  2. 解释器所在的site-packages位置 - 第三方Python模块默认地址(这是最好的选择)
  3. 标准库位置 - 这些目录包含构成标准库的所有模块
  • 发布自定义模块到 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 -- 模块的更多相关文章

  1. Python标准模块--threading

    1 模块简介 threading模块在Python1.5.2中首次引入,是低级thread模块的一个增强版.threading模块让线程使用起来更加容易,允许程序同一时间运行多个操作. 不过请注意,P ...

  2. Python的模块引用和查找路径

    模块间相互独立相互引用是任何一种编程语言的基础能力.对于“模块”这个词在各种编程语言中或许是不同的,但我们可以简单认为一个程序文件是一个模块,文件里包含了类或者方法的定义.对于编译型的语言,比如C#中 ...

  3. Python Logging模块的简单使用

    前言 日志是非常重要的,最近有接触到这个,所以系统的看一下Python这个模块的用法.本文即为Logging模块的用法简介,主要参考文章为Python官方文档,链接见参考列表. 另外,Python的H ...

  4. Python标准模块--logging

    1 logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等:相比print,具备如下优点: 可以通过设置不同 ...

  5. python基础-模块

    一.模块介绍                                                                                              ...

  6. python 安装模块

    python安装模块的方法很多,在此仅介绍一种,不需要安装其他附带的pip等,python安装完之后,配置环境变量,我由于中英文分号原因,环境变量始终没能配置成功汗. 1:下载模块的压缩文件解压到任意 ...

  7. python Queue模块

    先看一个很简单的例子 #coding:utf8 import Queue #queue是队列的意思 q=Queue.Queue(maxsize=10) #创建一个queue对象 for i in ra ...

  8. python logging模块可能会令人困惑的地方

    python logging模块主要是python提供的通用日志系统,使用的方法其实挺简单的,这块就不多介绍.下面主要会讲到在使用python logging模块的时候,涉及到多个python文件的调 ...

  9. Python引用模块和查找模块路径

    模块间相互独立相互引用是任何一种编程语言的基础能力.对于"模块"这个词在各种编程语言中或许是不同的,但我们可以简单认为一个程序文件是一个模块,文件里包含了类或者方法的定义.对于编译 ...

  10. Python Paramiko模块与MySQL数据库操作

    Paramiko模块批量管理:通过调用ssh协议进行远程机器的批量命令执行. 要使用paramiko模块那就必须先安装这个第三方模块,仅需要在本地上安装相应的软件(python以及PyCrypto), ...

随机推荐

  1. LeetCode 784 Letter Case Permutation 解题报告

    题目要求 Given a string S, we can transform every letter individually to be lowercase or uppercase to cr ...

  2. git 码云的常用命令(版本控制)

    首先在码云仓库创建对应的仓库 当你输入错误用户名和密码 需要清掉配置 git config --system --unset credential.helper 设置账号 git config --g ...

  3. 新兴的API(fileReader、geolocation、web计时、web worker)

    requestAnimationFrame() 每次浏览器重绘之前会调用这个方法!!! 它接收一个参数,就是回调函数: 它可以保证在最佳的间隔时间调用传入的回调函数,以达到让屏幕产生最流畅的动画效果. ...

  4. 这个zsh超级棒

    https://github.com/robbyrussell/oh-my-zsh wget用法: http://man.linuxde.net/wget https://pan.baidu.com/ ...

  5. 对web标准化(或网站重构)知道哪些相关的知识,简述几条你知道的Web标准?

    网页主要有三部分组成:结构(Structrue).表现(Presentation)和行为(Behavior).对应的网站标准也分为三方面: 1.结构化标准语言,主要包括XHTML和XML: 2.表现标 ...

  6. xargs与管道的区别

    一.直观感受 echo '--help' | cat echo的输出通过管道定向到cat的输入, 然后cat从其标准输入中读取待处理的文本内容, 输出结果: --help echo '--help' ...

  7. MATLAB中产生随机数的那些函数

    1.产生从imin~imax的m*n矩阵 randi([imin,imax],m,n); 2.产生1~n的无重复随机整数 randperm(n);

  8. LeetCode-714.Best Time to Buy and Sell Stock with Transaction Fee

    Your are given an array of integers prices, for which the i-th element is the price of a given stock ...

  9. 在linux下一般用scp这个命令来通过ssh传输文件

    在linux下一般用scp这个命令来通过ssh传输文件. 1.从服务器上下载文件scp username@servername:/path/filename /var/www/local_dir(本地 ...

  10. 火币网API文档——WebSocket API错误码

    错误信息返回格式 { "id": "id generate by client", "status": "error", ...