• python 学习备忘2—让自己的模块可用的三种方法


          这句代码sys.path .append('f:/python'),我们改变了sys.path,解释器在f:/python中查找模块,一般来说,我们可能不想这么做,在理想情况下,一开始sys.path本身就应该包括正确的目录,有两种方法可以做到这一点,下面,是我学习的过程:

          1、让你的模块可用:

      在目录C:\Python32\Lib\site-packages(如果安装目录在C盘)下,添加文件:another_hello.py,代码如下:

      

    1 #another_hello.py
    2   def hello():
    3     print("hello world 0")
    4 
    5   def test():
    6     hello()
    7 
    8   if __name__=='__main__':
    9     test()

     在python shell中,会生成another_hello.cpython-32.pyc文件

    import another_hello
    >>> another_hello .hello ()

    只要将模块放入类似site-packages这样的目录中,所有程序就能将其导入了。

    2、告诉编译器到哪里找?

      "将模块放置在正确的位置"这个解决方案对于以下几种情况可能不适用:

        不希望将自己的模块填满Python解释器的目录;

        没有在Python解释器目录中存储文件的权限;

        想将模块放在其他地方。

          想将模块放在其他地方,那么就要告诉解释器去哪里去找。你之前已经看到了一种方法,就是编辑目录sys.path,但这不是一种通用的方法。标准的实现方式是在PYTHONPATH环境变量中包含模块所在的目录。

       环境变量设置如下:PYTHONPATH =F:\pythonpath

    #hello5.py
    def hello():
        print("hello world ByPYTHONPATH")
    
    def test():
        hello()
    
    if __name__=='__main__':
        test()
    

      

     3、使用.pth来来实现

    在Python/Lib/site-package目录下创建一个MyModule.pth文件,其中内容为自定义的模块所在的路径

    Config代码  
         C:\Project  

     这样Project目录下的python文件就可以被找到了。

     

  • 相关阅读:
    pandas中expand的作用
    pandas中DataFrame的stack()、unstack()和pivot()方法的对比
    Django在windows下用Apache 部署
    pandas分组统计
    DataFrame中的空值处理
    Django signals 监控模型对象字段值的变化
    django+uwsgi+daphne+supervisor生产环境部署
    Django-Channels使用和部署
    Django使用Channels实现WebSocket的方法
    python 操作es
  • 原文地址:https://www.cnblogs.com/yhql/p/2609859.html
Copyright © 2020-2023  润新知