• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
机灵小不懂
博客园    首页    新随笔    联系   管理    订阅  订阅

Python 5 -- 模块

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

  • 导入已有模块
# 导入整个模块
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

posted @ 2018-06-13 10:55  机灵小不懂  阅读(831)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3