python依赖包
❶ python如何导入第三方依赖包API
第一种基本安装方法
1 下载第三方包,解压
2 在命令提示符里输入cmd,然后用cd进入到第三方包的路径下
3 输入python setup.py build
4 输入python setup.py install
看到包内的文件在安装即可……
第二种 用pip安装
pip可以很方便的安装、卸载和管理Python的包。
pip install xxxx
第三种 直接安装anaconda3,大部分常用依赖包都已经有了。
❷ 怎样将python程序及其依赖打包成rpm包部署
可以的,虽然说pip比较流行,但rpm从原理上完全可以覆盖这些部署过程,只有一些小的要求:
所有环境的Python安装方式必须一致,不能存在某些Python是2.6,某些是2.7,某些装在/usr/local下面,某些在/usr/lib下面之类的情况
如果带有C扩展的话,链接到的库应当是来自某个rpm包的。如果没有的话就简单多了。
如果有依赖的其他Python包的话,需要把依赖的包也做成rpm;实在偷懒也可以打进同一个rpm中。
实际上发行版中有许多Python库都以rpm的形式提供,不过一般我们嫌它版本旧,更倾向于用pip管理一组新的。
要写一个rpm spec,可以从头自己写,也可以参考一些其他软件的spec,我建议你采用后者,既然你们公司已经广泛使用rpm了,那肯定有很多本公司的spec可以参考,也有人可以问。
回到话题,写rpm spec,或者说rpmbuild的过程,分成以下步骤:
部署源代码,一般来说将一个.tar.gz复制到SRC目录中,然后用%setup宏就可以了,这个宏也基本上没干什么特别的事,就是把.tar.gz解压缩了一下,然后进入相应目录。.tar.gz只要从git中取出干净的源代码,整个目录打成tar包就可以了。好像还有专门的git-archive命令。
build过程,对应C/C++项目中的./configure, make。对Python项目来说一般可以跳过,因为setup.py都会搞定。也可以选择在这个阶段使用setup.py进行build,build出一个wheel包来,这是我推荐的方法,因为wheel包和直接setup.py install的目录结构有一些差异,而pip安装默认是按照wheel的方式。也就是说在这一步调用:setup.py bdist_wheel。再精细一点可以指定build的目标为build目录,这样需要cleanup的时候容易一些。
install过程,对应C/C++项目中的make install。一般来说我们平时怎么装这个软件,这一步就怎么装,所以我们也是使用setup.py。唯一的技巧在于,我们需要指定安装的目标到rpmbuild根的某个目录下面,而不是系统的目录。这个目录在install开始之前应当被清空。可以参考其他spec。对于我们来说,就是将Python的库安装到指定的目录,而不是系统的site-packges当中。如果你在build这一步已经打包了wheel,那么使用wheel install命令、指定目标文件夹就可以了。
打包过程,rpm的打包原理非常简单,最开始install的目录是空的,install完成后里面有了一堆文件,那么就按照文件列表将这一堆文件打包、然后指定每个文件将来应当安装到什么位置。对于Python项目来说,一般会安装package名的目录和EGGINFO两个目录,将这两个目录连同里面所有的内容一起加入%files段就可以了。如果你要部署的是某个应用,一般你还会希望将init.d中的启动脚本、或者 systemd的配置文件以及其他应用的配置文件一起部署了,可以在install的过程中将这些文件从源文件目录中复制到目标文件夹里,然后加到files段里面。
安装、卸载脚本。表现为%pre, %post之类的段一般来说如果你有服务要安装的话,需要在这里使用chkconfig, chkconfig on,或者systemd的话就是systemctl enable。如果你希望安装完有个机会修改配置文件,可以选择在首次安装的时候不要启动服务,而在update的时候启动服务,这可以通过脚本传进的第一个命令行参数$1进行判断,0、1、2表示不同的情况(分别是卸载、安装、更新,具体的记不清了),可以参考其他人写的spec;也可以选择安装完永远直接启动,在post中使用service xxx start, 在preuninstall的时候使用service xxx stop。
rpm的功能还是很强大的,除了跟pip共通的功能以外,它有一个显着的好处就是可以帮助你同时管理服务的配置、启动和停止,从而简化部署过程。不过要注意如果使用rpm的话就不要同时使用pip,否则pip更新过的库,rpm卸载或更新时会冲突。
有第三方依赖的时候,一种方法是为每个依赖项写一个独立的spec,里面内容都是上面这样的直接调用setup.py,或者更简单一些,在install的时候直接调用pip就可以;然后在需要这些依赖项的rpm包的spec当中写上Require信息,跟pip体系的requirements差不多。偷懒也可以在同一个rpm中打了一堆Python包进去,但是如果有多个独立安装的rpm都打了同一个Python包,就会冲突,要注意。
其实用习惯了会觉得也不比pip差,需要跟非Python组件混合部署的时候反而会觉得简单了很多。
❸ 在Python中出现这样的这样,第三方依赖包找不到,怎么解决
打开cmd
1.输入:cd 包的路径,例如e:\\lib\\httplib2
2.输入:e:
3.输入:Python setup.py installer
窗口会输出成功安装的信息,其他的都依此安装就行了
❹ Python怎么把项目依赖
requirement.txt(项目依赖包及版本列表)
管理项目依赖包和版本,方便项目在新环境中部署
生成项目依赖包和版本列表文件(每次更新依赖包都需要更新这个文件)
pip freeze > requirements.txt
在新虚拟环境中创建这个虚拟环境的完全副本
pip install -r requirements.txt
在ruby中习惯用gemfile来管理项目中依赖包,可以通过bundle install安装gemfile中的包,并且如果本地存在一个包的多个版本时,会通过gemfile来指引该项目用某个包版本,所以本地可以安装一个包的多个版本供项目选择
在python中,好比我两个项目都是基于python3的但一个需要Django1.8版本的一个需要Django1.9版本我第一反应是公用一个虚拟环境,在一个虚拟环境中安装多个版本的Django,但是后来发现python中一个虚拟环境不允许安装一个包的多个版本(后一个会把前一个覆盖掉),所以这也是在python中一个项目创建一套虚拟环境的必要性(每个项目所以依赖的包不同)
后来了解到python中可以通过requirement.txt来管理项目包依赖,只不过是可以在新的虚拟环境中创建项目所需依赖的完全副本,并不能通过这个指引项目用本地的某个版本的包这就是ruby跟python的区别
❺ 怎么查看python安装的依赖包
Python使用pip包管理器来安装、删除、管理软件包,使用pip安装软件包会自动安装包所依赖的其它包,而无需手动安装。
最新版本的Python中已经默认安装了pip包管理器,老版本的需要自己手动安装。pip包管理器的使用方法如下:
依次点击开始>运行,输入cmd打开命令提示符
pip install 包名称
通过以上两步即可实现包的安装,同样在命令提示符下输入:
pip list
可以查看所有已经安装的包。
❻ python 的MoleNotFoundError: No mole named 'libs.activations'问题 该如何解决
一般这种问题就是你的python依赖包没有安装好,需要你去排查一下是什么包没有安装好导致的
也存在一种可能就是你包的名字写错了,需要你进一步排查,请贴出源码
❼ python matplotlib 依赖哪些包
Matplotlib 需要大量的依赖:
Python(>= 2.7 or >= 3.4)
NumPy(>= 1.7.1)
setuptools
dateutil(>= 2.0)
pyparsing
libpng(>= 1.2)
pytz
FreeType (>= 2.3)
cycler(>= 0.10.0)
six
backports.functools_lru_cache
(仅 Python 2.7 )
subprocess32
(仅 Python2.7 , 仅 Linux 和 macOS 平台)
❽ 怎样查看python包的依赖库
一起开发项目的时候总是要搭建环境和部署环境的,这个时候必须得有个Python第三方包的list,一般都叫做requirements.txt。 如果一个项目使用时virtualenv环境,还好办 pip freeze 就可以解决,但是如果一个项目的依赖list没有维护,而且又是环境混用,那就不好整理的呀,不过,这里安利一个工具 pipreqs,可以自动根据源码生成 requirements.txt .
使用pip freeze
$ pip freeze > requirements.txt11
这种方式配合virtualenv 才好使,否则把整个环境中的包都列出来了。
使用 pipreqs
这个工具的好处是可以通过对项目目录的扫描,自动发现使用了那些类库,自动生成依赖清单。
缺点是可能会有些偏差,需要检查并自己调整下。
# pip install pipreqs
# 使用方式也比较简单
pipreqs ./
INFO: Starting new HTTPS connection (1): pypi.python.org
INFO: Starting new HTTPS connection (1): pypi.python.org
INFO: Starting new HTTPS connection (1): pypi.python.org
INFO: Starting new HTTPS connection (1): pypi.python.org
INFO: Starting new HTTPS connection (1): pypi.python.org
INFO: Starting new HTTPS connection (1): pypi.python.org
INFO: Successfully saved requirements file in ./requirements.txt
cat requirements.txt
Django == 1.6
django_redis == 4.3.0
redis == 2.10.5
django_redis_cache == 1.6.5
simplejson == 3.8.2
Twisted == 16.0.0
pycrypto == 2.6.1
ConcurrentLogHandler == 0.9.1
cx_Oracle == 5.2.1
ujson == 1.19202122232425
有时候结果可能会有些偏差,这里并没有用Oracle的相关驱动,根据的需要修改 requirements.txt 就好了。
how python project auto generate requirements.txt ?
❾ python怎么导入依赖包
python导入依赖包的方法:1、点击pycharm顶部的file标签,点击【setting】按钮;2、点击【Project:**】在右侧面板选中出现的【Project Interpreter】按钮,点击右方的【+】输入要安装库,安装即可。
第一步:打开pycharm:File-->Settings
第二步:Project:(你的项目名)-->Project InterPreter-->点击右边的加号
第三步:在窗口中搜索要下载的依赖-->选中并点击左下角的install package即可导入依赖包
推荐课程:Python 基础入门教程
❿ Python有哪几种打包方式,Python怎样将依赖包打进去
推荐用pyinstaller打包,这个比较方便。参考:
Python | 用Pyinstaller打包发布exe应用
http://jingyan..com/article/a378c960b47034b3282830bb.html