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:\Users\Administrator\Desktop\test\module1.py:
def func1():
print("func1")
将C:\Users\Administrator\Desktop\test添加到PYTHONPATH即可直接import module1,然后
调用:module1.func1()即可。
2. 将自己做的py文件放到 site_packages 目录下
3. 使用pth文件,在 site-packages 文件中创建 .pth文件,将模块的路径写进去,一行一
个路径,以下是一个示例,pth文件也可以使用注释:
# .pth file for the my project(这行是注释),命名为xxx.pth文件
C:\Users\Administrator\Desktop\test
这个不失为一个好的方法,但存在管理上的问题,而且不能在不同的python版本中共享。
4. 在调用文件中添加sys.path.append("模块文件目录");
5. 直接把模块文件拷贝到$python_dir/Lib目录下。
通过以上5个方法就可以直接使用import module_name了。
Python添加模块的更多相关文章
- Python添加模块路径
1.用函数临时添加 1 import sys #导入sys模块 2 3 4 sys.path.append(r'/tmp/test') #要用绝对路径 5 print(sys.path) #查看模块路 ...
- python基础】——python添加模块搜索路径和包的导入
方法一:函数添加1 import sys2 查看sys.path3 添加sys.path.append("c:\\") 方法二:修改环境变量w用户可以修改系统环境变量PYTHONP ...
- Python 添加模块
一.方法1: 单文件模块直接把文件拷贝到 $python_dir/Lib 二.方法2: 多文件模块,带setup.py 下载模块包,进行解压,进入模块文件夹,执行:python setup.py in ...
- python中如何添加模块导入路径?
python中自定义模块导入路径的方式主要有以下3种: (1)使用sys.path.append() 随着程序执行,会动态地添加模块导入的路径,但是程序执行结束后就会立即失效(临时性的) import ...
- Python Logging模块的简单使用
前言 日志是非常重要的,最近有接触到这个,所以系统的看一下Python这个模块的用法.本文即为Logging模块的用法简介,主要参考文章为Python官方文档,链接见参考列表. 另外,Python的H ...
- Python标准模块--logging
1 logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等:相比print,具备如下优点: 可以通过设置不同 ...
- python基础-模块
一.模块介绍 ...
- python logging模块可能会令人困惑的地方
python logging模块主要是python提供的通用日志系统,使用的方法其实挺简单的,这块就不多介绍.下面主要会讲到在使用python logging模块的时候,涉及到多个python文件的调 ...
- Python常用模块之sys
Python常用模块之sys sys模块提供了一系列有关Python运行环境的变量和函数. 常见用法 sys.argv 可以用sys.argv获取当前正在执行的命令行参数的参数列表(list). 变量 ...
随机推荐
- Vue学习笔记 ——v-html
v-html: 在网页中,后台传来的json数据中包含html标签,将该json数据绑定到Vue.js中对象中,对该对象进行for循环,发现数据中的html标签不能被解析,而是当作字符显示出来 解决: ...
- apt-get -f install
http://zhidao.baidu.com/link?url=tZLEfm1Ycc1pWS67-95fXU596CtwA_1l2pPfzINUTxvOCvWdf3JZsWuZNxsxn0Jv6Om ...
- stack组件03
继昨天留下的问题 思路: 结果: 优化: from stark.service.site import site,ModelSatrk from .models import * from djang ...
- Buildroot 指定内核版本
/******************************************************************************** * Buildroot 指定内核版本 ...
- [svn]显示日志很慢 点击文件查看更改记录也贼慢
特此记录,防止以后忘记. 解决办法: 在 C:\Windows\System32\drivers\etc (win7) 中加入 即可 亦或将代码的url中pc名字改为ip地址也可以解决问题 对文件夹点 ...
- c++学习笔记(4)
1.non-virtual函数是在编译时完成解析的,根据该对象被调用时的类型来判断!!切记这点. 2.凡基类定义有一个(或多个)虚函数,应该要将其destructor声明为virtual,但不要把de ...
- BZOJ4999:This Problem Is Too Simple!(DFS序&树上差分&线段树动态开点:区间修改单点查询)
Description 给您一颗树,每个节点有个初始值. 现在支持以下两种操作: 1. C i x(0<=x<2^31) 表示将i节点的值改为x. 2. Q i j x(0<=x&l ...
- 复选框checkbox样式修改
该方法只兼容IE9及以上 将checkbox和label关联起来, 将checkbox隐藏掉,通过点击label来点击checkbox,label的样式即可自定义. 通过checkbox:checke ...
- getServletContext()方法详解
javax.servlet.ServletContext接口 一个servlet上下文是servlet引擎提供用来服务于Web应用的接口.Servlet上下文具有名字(它属于Web应用的名字)唯一映射 ...
- HDU2473 Junk-Mail Filter 【可删除的并查集】
HDU2473 Junk-Mail Filter Problem Description Recognizing junk mails is a tough task. The method used ...