模块
pip命令实例 | 说明 |
pip download SomePackage[==version]
|
下载扩展库的指定版本,不安装 |
pip freeze [> requirements.txt]
|
以 requirements 的格式列出已安装模块
|
pip list
|
列出当前已安装的所有模块
|
pip install SomePackage[==version]
|
在线安装 SomePackage 模块的指定版本
|
pip install SomePackage.whl
|
通过 whl 文件离线安装扩展库
|
pip install package1 package2 ...
|
依次(在线)安装 package1 、 package2 等扩展模块
|
pip install -r requirements.txt
|
安装 requirements.txt 文件中指定的扩展库
|
pip install --upgrade SomePackage
|
升级 SomePackage 模块
|
pip uninstall SomePackage[==version]
|
卸载SomePackage模块的指定版本 |
1、下载速度慢——使用镜像源
pip install -i <国内镜像> <第三方库名称>
pip install XlsxWriter-1.0.5-py2.py3-none-any.whl
activate
root deactivate
conda env list
conda create --name--clone
conda remove --name--all
conda install --name
conda install
•
conda remove --name
conda remove
•
更新所有包
conda update --all
更新指定包
conda update
常用的模块:skelearn、numpy、matplotlib、scipy等等
描述及其内容查询(直接在console里面输入即可)
help(module-name)
>>> import math
>>> help(math)
Help on built-in module math: NAME
math
DESCRIPTION
This module provides access to the
mathematical functions
defined by the C standard.
-- More --
dir(obj)
>>> dir(math)
[‘ __doc __', '__file __', ' __name __',
'acos', 'asin', 'atan', 'atan2', 'ceil',
'cos', 'cosh', 'degrees', ‘e', 'exp',
'fabs', 'floor', 'fmod', 'frexp', 'hypot',
'ldexp', 'log', 'log10', 'modf', ‘pi',
'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan',
'tanh']
该方法适用于自己构建的module与正在运行的py不在同一个位置,由于编辑器查找完同目录的module后,会再查找path中的,所以我们可以使用sys.path.append通过增加临时搜索路径,使得在不同位置的module也可以调用。
import sys
sys.path.append("c:\\pythompa\works")
>>> import sys
>>> sys.path
['D:\\Program\\Anaconda\\python39.zip',
'D:\\Program\\Anaconda\\DLLs',
'D:\\Program\\Anaconda\\lib',
'D:\\Program\\Anaconda',
'',
'D:\\Program\\Anaconda\\lib\\site-packages',
'D:\\Program\\Anaconda\\lib\\site-packages\\win32',
'D:\\Program\\Anaconda\\lib\\site-packages\\win32\\lib',
'D:\\Program\\Anaconda\\lib\\site-packages\\Pythonwin',
'C:\\Users\\Administrator\\Desktop\\11']
为了帮助理解,再举一个实例
上图中,fangchengjie这个.py位于D盘的mokuai里面,而ceshi2位于C盘中,通过使用sys.path.append,可以实现不同位置的直接调用 。
如此一来就可以调用了,代码如下
import sys
sys.path.append(r"D:\mokuai")
from fangchengjie import solution
print(solution(4,5,3))
import moduels( 模块名字)
import moduels (模块名字) as XX
from modules( 模块名字 ) import func(方法或类)# 也可重命名:from modules( 模块名字 ) import func( 方法) as XX
from package.modules import func(方法或类)也可以用别名表示,from modules( 模块名字 ) import func( 方法) as XX
from moduels import *
import module_name
>>> import math
>>> math.sin(30)
-0.9880316240
from module import func
>>> from math import sin
>>> sin(30)
-0.9880316240
import 模块名 as 别名
>>> import math as m
>>> m.sin(30)
-0.9880316240
from 模块名 import 对象名 as 别名
# 可以减少查询次数,提高执行速度
>>> from math import sin as f
>>> f(30)
-0.9880316240
import [包名1.[包名2…]].模块名
import urllib.request
#导入urllib包中的request模块
urllib.request.urlopen(url_robots) #调用模块中的方法
from [包名1.[包名2…]].模块名 import 函数名
from urllib.request import urlopen
urlopen(url)
# text.py文件
def add(a,b)
return a + b
def product(a,b)
return a*b
#调用
>>> from text import add
>>> result = add(11, 12)
23
# text.py文件
def add(a,b)
return a + b
result = add(12,22) #测试信息
print(“int test.pyfile,12+22={}”.format(result))
#调用
>>> import text
>>> result = add(11, 12)
>>> print(result)
int test.pyfile,12+22=34
23
其中一个重要的属性就是__name__属性
通过__name__属性,可以实现在脚本运行时:
实例
# text.py文件
def add(a,b):
return a+b
def product(a,b):
return a*b
#用来进行测试
if __name__=='__main__':
rel=add(1,2)
print('int test.py file,1+2=%d'%rel)
# a.py文件中调用模块
>>> from text import add
>>> result = add(1,2)
>>> print(result)
3
上述代码,假如直接测试该模块,那么__name__就等于__main__后面的测试代码就会运行,假如该模块是import到程序里面的,那么__name__就不会自动转换为__main__,故后面的代码就不会运行。
from distutils.core import setup
setup(
name="itheima",
version="1.0",
description="itheima belongs to itcast",
author="itcast",
py_modules=['suba.aa', 'suba.bb', 'subb.cc', 'subb.dd'] )
python setup.py build
构建后的目录结构
python setup.py sdist
补充知识点(time模块)
>>> strating_time=time.time()
>>> for i in range(4):
>>> print(i**3)
>>> ending_time=time.time()
running_time= strating_time- endinging_time
传送门:Python全套学习笔记