• Python添加模块


    参考博客:http://blog.csdn.net/damotiansheng/article/details/43916881

    http://my.oschina.net/leejun2005/blog/109679

    感谢博主

    一、临时添加:

    1、添加时使用sys.path.append添加,每次执行后,退出解释器,添加的路径失效,解释器默认为初始值,再次执行导入操作时需要在append一下(每个解释器的path不一样)

    2、每个包下必须有__init__.py文件才能被识别为包

    永久添加:

    解决方法如下:
    1. 使用PYTHONPATH环境变量,在这个环境变量中输入相关的路径,不同的路径之间用逗号
    (英文的!)分开,如果PYTHONPATH 变量还不存在,可以创建它!
    这里的路径会自动加入到sys.path中,永久存在于sys.path中而且可以在不同的python版本
    中共享,应该是一样较为方便的方法。
    C:UsersAdministratorDesktop estmodule1.py:
    def func1():
        print("func1")

    将C:UsersAdministratorDesktop est添加到PYTHONPATH即可直接import module1,然后
    调用:module1.func1()即可。


    2. 将自己做的py文件放到 site_packages 目录下


    3. 使用pth文件,在 site-packages 文件中创建 .pth文件,将模块的路径写进去,一行一
    个路径,以下是一个示例,pth文件也可以使用注释:

    # .pth file for the  my project(这行是注释),命名为xxx.pth文件
    C:UsersAdministratorDesktop est
    这个不失为一个好的方法,但存在管理上的问题,而且不能在不同的python版本中共享。


    4. 在调用文件中添加sys.path.append("模块文件目录");


    5. 直接把模块文件拷贝到$python_dir/Lib目录下。

    通过以上5个方法就可以直接使用import module_name了。


  • 相关阅读:
    Nuxt.js 踩坑记录(2) 使用sequelize时,提示install mysql2,安装了仍然不能解决问题
    Nuxt.js 踩坑记录,(1)引入fs包报错
    JS手写call、bind、apply
    手写Promise简易版
    generator函数
    ["1","2","3"].map(parseInt)结果
    改变对象转换为原始值的方式
    instanceof判断问题
    e.target和e.currentTarget区别
    java设计模式--适配器模式
  • 原文地址:https://www.cnblogs.com/344525813xiang/p/6731823.html
Copyright © 2020-2023  润新知