在Python中运行自定义包或模块
来源:互联网 发布:eplan2.6破解软件 编辑:程序博客网 时间:2024/05/19 14:39
在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
- 在Python中运行自定义包或模块
- Python导入自定义包或模块
- Python导入自定义包或模块
- [Python]在Python中添加自定义模块
- 在Python中添加自定义模块
- 在Python中添加自定义模块
- 在Python中添加自定义模块
- 在Python中添加自定义模块
- Python 模块和包,使用自定义的模块和包
- python中模块和包
- python 自定义 包 模块 打包 安装
- python 自定义的模块和导入包
- Python中引用自定义模块
- Python中引用自定义模块
- Python中引用自定义模块
- 在python中编写socket服务端模块(二):使用poll或epoll
- Python中包,模块导入的方法
- Python.中模块和包的概念
- 课后作业之手机类
- 使用CEfSharp之旅(4)cefsharp 调用F12
- 使用string的intern优缺点
- enum 枚举的使用方法
- AsyncTask源码解析
- 在Python中运行自定义包或模块
- linux目录
- Effect(十一)—— SkillAreaEffect
- redis info命令详解
- JavaWeb学习心得之Tomcat服务器(二)
- session 存储登录信息,超5次等待1分钟
- iview组件使用总结
- C语言——产生一个随机字符或者随机数
- 打印两个有序链表的公共部分