在Python中运行自定义包或模块

在Python中运行自定义包或模块(The way of Import module or package inpython):

一个自定义的文件夹下有 .py 文件,like:

E:\my_package\

                my1.py

                my2.py

搜索路径顺序:

①当前目录,程序所在的文件夹,

打开运行my1.py,当前目录就E:\my_package\my1.py

②sys.path列表

如果PYTHONPATH环境变量存在sys.path会加载此变量指定的目录。模块的搜索路径都放在了sys.path列表中,如果sys.path中没有含有自己的模块或包的路径,可以动态的(sys.path.apend)即可(这段来自http://m.blog.csdn.net/hyholine/article/details/8581740)

Python中添加自定义模块路径

参考http://changfengmingzhi.blog.163.com/blog/static/167105288201431392522454/##1

方法一: 

1. >>> import sys

>>> sys.path.append(”要运行.py的所在包”)

写完这行的话,需要立即使用,如:.pyname. function,否则导入的文件中的变量和function被覆盖掉,而在后面找不到。(来自http://blog.csdn.net/wangyaqi123/article/details/39433783)

尝试:

>>> sys.path.append("E:\my_package\my_1.py")

>>> my_1.printme("1234")

NameError: name 'my_1' is not defined

>>> printme("1234")

NameError: name 'printme' is not defined

>>> sys.path.append("E:\my_package\

")

>>> my_1.printme("1234")

NameError: name 'my_1' is not defined

很多方法都有这个,但不知道为啥?我试了不好使。

方法二:site-packages文件中创建.pth文件

一个自定义的文件夹下有 .py 文件,like:

E:\my_package\

                my1.py

                my2.py

want to import my1.py, do step likethis:

1)在python中运行

>>> import sys

>>> sys.path

['','C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python35\\Lib\\idlelib',……'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python35', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python35\\lib\\site-packages']

2)得到环境变量中的目录,找到并打开site-packages文件夹,使用pth文件,在 site-packages文件中创建.pth文件,将模块的路径写进去,一行一个路径。

.pth文件的创建,就先建一个(.txt)文本文档或(.doc),(.docx)都行 » 打开文档,写E:\my_package 或E:\\my_package » 保存 » 重命名 由 xxx.txt 变xxx.pth

3)检查是否创建成功

>>> import sys

>>> sys.path

['','C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python35\\Lib\\idlelib',……'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python35', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python35\\lib\\site-packages','E:\\ my_package ']

4)不要太高兴,因为它只能引入my_package文件夹下的.py文件,

>>> import my1

5)以下会报错

E:\ my_package\tensorflow1\models\image\cifar10

> >> importtensorflow1.models.image.cifar10.cifar10_input

ImportError: No module named'tensorflow1'

Python中运行自定义模块(已添好路径,路径之外会报错

E:\my_package\

                my1.py

                my2.py

                my\

my3.py

__init__.py

  myw\

my4.py

尝试ok的:

1 my2.py中

> >> import my1         #.py平级: my1.py  my2.py

> >> function

> >> from my.my3 import *       #.py和包平级: my2.py  my

> >> function

2 my4.py中

> >> from my.my3 import *       #不平级:

> >> function

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值