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文件就可以被找到了。

 

原文地址:https://www.cnblogs.com/yhql/p/2609859.html