• 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:CodePythonLearningMyModules目录下。

    通过以下步骤可以将模块安装到Site-packages位置:

            1. 创建一个发布描述->用来明确我们希望setuptools安装到模块。

    在E:CodePythonLearningMyModules下新建两个文件,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:CodePythonLearningMyModules>py -3 setup.py sdist

            3. 安装发布文件->将发布文件安装到site-packages。

       进去disk目录后运行如下命令。

    E:CodePythonLearningMyModulesdist>py -3 -m pip install vsearch-1.0.tar.gz

            看到Successfully installed vsearch-1.0说明安装成功。

    此时在E:Python36-32Libsite-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

  • 相关阅读:
    freemarker写select组件报错总结(七)
    freemarker写select组件(四)
    AIX 安装和卸载MQ软件
    freemarker写select组件(三)
    freemarker写select组件报错总结(六)
    freemarker写select组件报错总结(五)
    Linux s位设置
    libevent多线程使用事项
    对libevent+多线程服务器模型的C++封装类
    vs2010下libevent的使用
  • 原文地址:https://www.cnblogs.com/keepSmile/p/9176623.html
Copyright © 2020-2023  润新知