python 安装移动复制第三方库操作


Posted in Python onJuly 13, 2020

一、绪论

在使用python开发过程中经常会使用到第三方库。因此就涉及到了如何安装、复制移动。

二、安装方式

第三方库的安装方式

1、python自带包管理器:使用pip命令自动安装。例如:pip install xlwings

2、源码安装:在pypi下载的tar、zip包到本地安装。

2.1、pip安装方式详解

在windows环境先打开cmd命令窗口

进入到python安装路径的Scripts目录

执行pip install 库名字

2.2、源码安装

下载库文件压缩包,并解压。

在cmd命令窗口进入解压好的文件夹,通常会看见一个 setup.py 的文件

执行安装命令: python setup.py install

三、第三方包安装路径

第三方库的安装路径:\Python37\Lib\site-packages

四、第三方包复制移动

在没有网络的情况下非常适合从一个已经安装包的电脑上拷贝包到另一个没有安装包的电脑上。

1、进入第三方库安装的路径的文件夹。\site-packages

2、找到需要的包复制即可。注意一个库的包有两个文件,要同时复制。

python 安装移动复制第三方库操作

3、将包移动到另一台电脑上的\site-packages 粘贴即可使用。

补充知识:python 中使用 shutil 实现文件或目录的复制、删除、移动

警告: 即使是更高等级的文件复制功能 ( shutil.copy(), shutil.copy2() ) 也不能复制所有文件的元数据(metadata)。 在 POSIX 平台上,这意味着文件的属主和用户组会丢失,ACLs也一样。 在 Mac OS 上, 由于没有使用 the resource fork 和其他元数据,因此意味着 resources 会丢失以及文件类型和创建者ID将不会保持原有状态。 在 Windows 上, 文件所有者, ACLs 以及交换数据流(alternate data streams) 不会被复制。

文件夹和文件复制

shutil.copyfileobj(fsrc, fdst[, length])

复制类文件(file-like)对象 fsrc 的内容到类文件对象 fdst。 可选整数参数 length, 指定缓冲区大小。具体而言, length 的值为负数,复制操作不会将源数据分块进行复制。 默认的,为了避免不可控制的内存消耗,数据会被分块存入chunk中。 注意: 如果 fsrc 对象的当前文件位置不为 0 ,则只有从当前文件位置到文件末位的内容会被复制。

shutil.copyfile(src, dst)

复制文件 src 的内容(不包含元素据)到文件 dst 中。 dst 必须为一个完整的目标文件。 如果要将文件复制目标文件夹中,查看 shutil.copy() 。 src 和 dst 不能为同一个文件,否则会报错。 目标文件位置必须为可写状态,否则会触发 IOError。 如果 dst 已经存在,则会被覆盖。 特别的, 字符设备、块设备和管道不能使用此方法复制。 使用字符串指定src 和 dst 路径。

shutil.copymode(src, dst)

复制 src 的文件权限位到 dst 。 文件的内容、属主和用户组不会受影响。 使用字符串指定src 和 dst 路径。

shutil.copystat(src, dst)

复制文件 src 的文件权限位、最后访问 access 时间、最后修改 modification 时间和**标识 flags **到 dst。文件的内容、属主和用户组不会受影响。 使用字符串指定src 和 dst 路径。

shutil.copy(src, dst)

复制文件 src 到 dst 文件或文件夹中。 如果 dst 是文件夹, 则会在文件夹中创建或覆盖一个文件,且该文件与 src 的文件名相同。 文件权限位会被复制。使用字符串指定src 和 dst 路径。

shutil.copy2(src, dst)

与 shutil.copy() 类似,另外会同时复制文件的元数据。 实际上,该方法是 shutil.copy() 和 shutil.copystat() 组合。该方法相当于 Unix 命令的 ` cp -p `。

shutil.ignore_patterns(*patterns)

该工厂函数创建了一个可以被调用的函数, 该函数可以用于 shutil.copytree() 的 ** ignore 参数**的值, 以跳过正确匹配的文件和文件夹。 更多参考下面离职。

shutil.copytree(src, dst, symlinks=False, ignore=None)

递归复制整个 src 文件夹。 目标文件夹名为 dst,不能已经存在;方法会自动创建 dst 根文件夹。 文件夹权限和时间通过 shutil.copystat() 复制, 单独的文件通过 shutil.copy2() 复制。 如果 ` symlinks ` 为真, 源文件夹中的符号链接将会被保留,但是原链接的元数据不会被复制。如果值为假或被省略,则链接文件指向文件的内容和元数据复制到新文件夹树中。 如果指定了 ignore, 那么他必须是调用队列(callable),且作为 shutil.copytree() 的参数。参数包括文件夹本机及并通过 os.listdir()返回文件夹包含的内容。由于 shutil.copytree() 递归复制,因此 ignore 会在复制每个子文件夹的时候被调用。 callable必须返回一个由当前文件夹下的文件夹和文件所组成的队列(i.e. a subset of the items in the second argument); 这些文件夹和文件在复制过程中会被忽略。可以使用 shutil.ignore_patterns() 创建callable。

如果发生意外, shutil.Error() 返回错误原因。

移动和删除

shutil.rmtree(path[, ignore_errors[, onerror]])

删除整个目录树; path 必须指向一个文件夹,但不能是一个指向文件夹的符号链接。 如果 ` ignore_errors ` 值为真, 则删除失败时的信息将会被忽略。如果值为假或省略,那么这些错误将通过 onerror 指定的 handler 进行处理; 如果 onerror 被省略,则会 raise 一个异常。

如果指定了 onerror,则必须是包含三个参数: function, path 和 excinfo的 callable 。 第一个参数 ` function ` , 该函数用于 raise 异常;该函数可以是 os.path.islink(), os.listdir(), os.remove(), os.rmdir()。 第二个参数 path 为传递给第一个参数的路径。 第三个参数 excinfo 为 sys.exc_info()返回的异常信息。 通过 onerror raise 的异常不会被捕捉。

shutil.move(src, dst)

将一个文件或文件夹从 src 移动到 dst 如果 dst 已存在且为文件夹,则 src 将会被移动到 dst内。 如果如 dst 存在但不是一个文件夹, 取决于 os.rename() 的语义,dst 可能会被覆盖。 如果 dst 与 src 在相同的文件系统下, 则使用 os.rename() 。 否认则,将使用 shutil.copy2() 复制 src到 dst 并删除。

shutil.Error

该异常汇集文件操作时 raise 的异常。 例如 shutil.copytree(), the exception argument is a list of 3-tuples (srcname, dstname, exception).

以上这篇python 安装移动复制第三方库操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python发送arp欺骗攻击代码分析
Jan 16 Python
Python3使用requests发闪存的方法
May 11 Python
python爬虫框架scrapy实战之爬取京东商城进阶篇
Apr 24 Python
Python实现mysql数据库更新表数据接口的功能
Nov 19 Python
详解pyqt5 动画在QThread线程中无法运行问题
May 05 Python
详解python调用cmd命令三种方法
Jul 08 Python
python 字典访问的三种方法小结
Dec 05 Python
python等差数列求和公式前 100 项的和实例
Feb 25 Python
python matplotlib工具栏源码探析三之添加、删除自定义工具项的案例详解
Feb 25 Python
python 逐步回归算法
Apr 06 Python
pytorch 如何使用amp进行混合精度训练
May 24 Python
python lambda 表达式形式分析
Apr 03 Python
基于Python爬取fofa网页端数据过程解析
Jul 13 #Python
python利用os模块编写文件复制功能——copy()函数用法
Jul 13 #Python
python 制作python包,封装成可用模块教程
Jul 13 #Python
通过Python实现Payload分离免杀过程详解
Jul 13 #Python
python上selenium的弹框操作实现
Jul 13 #Python
python如何导入依赖包
Jul 13 #Python
python入门:argparse浅析 nargs='+'作用
Jul 12 #Python
You might like
php的list()的一步操作给一组变量进行赋值的使用
2011/05/18 PHP
php缩小png图片不损失透明色的解决方法
2013/12/25 PHP
Yii2针对指定url的生成及图片等的引入方法小结
2016/07/18 PHP
PHP静态方法和静态属性及常量属性的区别与介绍
2019/03/22 PHP
PHP读取文件或采集时解决中文乱码
2021/03/09 PHP
[原创]来自ImageSee官方 JavaScript图片浏览器
2008/01/16 Javascript
ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
2010/06/12 Javascript
javascript面向对象特性代码实例
2014/06/12 Javascript
vue.js学习笔记:如何加载本地json文件
2017/01/17 Javascript
vue图片加载失败时用默认图片替换的方法
2019/08/29 Javascript
微信小程序使用 vant Dialog组件的正确方式
2020/02/21 Javascript
微信小程序wx.getUserInfo授权获取用户信息(头像、昵称)的实现
2020/08/19 Javascript
JS canvas实现画板和签字板功能
2021/02/23 Javascript
Python中的闭包实例详解
2014/08/29 Python
Python3中常用的处理时间和实现定时任务的方法的介绍
2015/04/07 Python
Python字符串、元组、列表、字典互相转换的方法
2016/01/23 Python
使用Python微信库itchat获得好友和群组已撤回的消息
2018/06/24 Python
如何使用pyinstaller打包32位的exe程序
2019/05/26 Python
Python控制Firefox方法总结
2019/06/03 Python
服务器端jupyter notebook映射到本地浏览器的操作
2020/04/14 Python
Python基于Tkinter编写crc校验工具
2020/05/06 Python
PyQt5实现仿QQ贴边隐藏功能的实例代码
2020/05/24 Python
使用Python实现音频双通道分离
2020/12/25 Python
详解解决jupyter不能使用pytorch的问题
2021/02/18 Python
法国女性内衣购物网站:Glamuse
2019/05/13 全球购物
排序都有哪几种方法?请列举。用JAVA实现一个快速排序
2014/02/16 面试题
个人求职信范文分享
2013/12/13 职场文书
《青蛙看海》教学反思
2014/04/23 职场文书
创先争优个人承诺书
2014/08/30 职场文书
小学生作文批改评语
2014/12/25 职场文书
党员证明模板
2015/06/19 职场文书
施工安全责任协议书
2016/03/23 职场文书
新手,如何业余时间安排好写作、提高写作能力?
2019/10/21 职场文书
Nginx搭建rtmp直播服务器实现代码
2021/03/31 Servers
golang 实现菜单树的生成方式
2021/04/28 Golang
利用Selenium添加cookie实现自动登录的示例代码(fofa)
2021/05/08 Python