一.构建工具setup.py的应用场景 在安装python的相关模块和库时,我们一般使用“pip install  模块名”或者“python setup.py install”,前者是在线安装,会安装该包的相关依赖包:后者是下载源码包然后在本地安装,不会安装该包的相关依赖包.所以在安装普通的python包时,利用pip工具相当简单.但是在如下场景下,使用python setup.py install会更适合需求: 在编写相关系统时,python 如何实现连同依赖包一起打包发布? 假如我在本机开…
转载自:http://blog.konghy.cn/2018/04/29/setup-dot-py/ Python 有非常丰富的第三方库可以使用,很多开发者会向 pypi 上提交自己的 Python 包.要想向 pypi 包仓库提交自己开发的包,首先要将自己的代码打包,才能上传分发. 一.distutils 简介 distutils 是标准库中负责建立 Python 第三方库的安装器,使用它能够进行 Python 模块的安装和发布.distutils 对于简单的分发很有用,但功能缺少.大部分Py…
Python模块的安装方法: 1. 单文件模块:直接把文件拷贝到$python_dir/lib 2. 多文件模块,带setup.py:python setup.py install 3. egg文件,类似Java的jar:1) 下载ez_setup.py,运行python ez_setup   2) easy_install *.egg 虽然Python的模块可以拷贝安装,但是一般情况下推荐制作一个安装包,即写一个setup.py文件来安装. setup.py文件的使用:% python set…
http://pypi.python.org/pypi/chardet#downloads 下载chardet-2.*.*.tar.gz:解压到site-package文件夹, Python及其一些模块安装包里可能有setup.py,是用来执行安装的. 比如要安装chardet-2.1.1,进入到chardet-2.1.1的解压包里,shift +鼠标右键打开控制台,执行:python setup.py install 就可以完成安装了. 之后就可以在其他.py文件编程时调用该模块了.…
下载安装包,并解压到相应的位置 1.打开cmd 2.到达安装目录 3.python setup.py build 4.python setup.py install…
setup.py应用场合 网上见到其他人这样介绍: 假如我在本机开发一个程序,需要用到python的redis.mysql模块以及自己编写的redis_run.py模块.我怎么实现在服务器上去发布该系统,如何实现依赖模块和自己编写的模块redis_run.py一起打包,实现一键安装呢?同时将自己编写的redis_run.py模块以exe文件格式安装到python的全局执行路径C:\Python27\Scripts下呢?在这种应用场景下,pip工具似乎派不上了用场,只能使用python的构建工具s…
学习python也已经有一段时间了,发现python作为脚本语言一个很重要的特点就是简单易用,而且拥有巨多的第三方库,几乎方方面面的库都有,无论你处于哪个行业,想做什么工作,几乎都能找到对应的第三方库.别人造好了轮子,我们直接拿过来用,这大大方便了开发,也极大地提升了效率.那么问题来了,有那么多的第三方库,我们如何开发一个属于自己的库呢?其实这是一个比较大的问题,因为开发一个库涉及到的问题很多,比如这个库要用来干嘛,实现什么功能,有没有已经类似的库了,效率如何等.但是这里,我只想抛砖引玉,简单记…
distutils.distutils2 distutils是 python 标准库的一部分,2000年发布.使用它能够进行 python 模块的 安装 和 发布. distutils2 被设计为 distutils 的替代品,后来这个计划停滞了. setuptools.easy_install.ez_setup.py setuptools 是一个为了增强 distutils 而开发的集合,2004年发布.它包含了 easy_install 这个工具. ez_setup.py 是 setupto…
软件环境:python3.3.4 + PyQt5 使用py2exe打包写好的py文件,过程如下: 在你要打包的代码文件(比如sample.py)的同文件夹建立一个python代码文件(比如setup.py),然后在其中输入: from distutils.core import setup import py2exe import sys #this allows to run it with a simple double click. sys.argv.append('py2exe') py…
有些时候由于工作环境的限制如proxy,不能自动安装python 的第三方的库(用python –m pip install package).在这个情况下,只能自己手动安装.以xlwt-1.3.0.tar.gz为例子. Step 1: 下载xlwt-1.3.0.tar.gz Step 2:  解压 Step 3: 命令行,python xlwt-1.3.0/setup.py install 当然还可以用 pip install –e <src path> pip install <lo…
需要打包的工程目录下使用命令: pip freeze > requirements.txt 就会在pip目录生成 requirements.txt 文件,该文件内就是当前环境所安装的所有扩展包打开后就是安装的模块和对应的版本,如: numpy==1.11.1pandas==0.18.1py2exe==0.6.9pyautoit==0.4python-dateutil==2.5.3pytz==2016.6.1pywin32==218robotframework==3.0robotframework…
mlflow是一个开源机器学习平台 最近需要使用一个它的最新版本,但是这个最新版本没有git包,无法通过pip install安装,需要打包安装. 打包完之后在项目的dist文件夹中有打包后的压缩包,拷贝出来,解压缩,进入,python setup.py install即可完成安装.但是setup.py安装的缺点是有些依赖无法自动安装,需要手动安装一些依赖. 我安装的一些依赖: sudo pip3 install websocket sudo pip3 install websocket-cli…
错误起因: 第一次安python3.72的时候,直接去官网下了压缩包,解压后也没有exe文件.环境也是手动配置,在之后安装Pycharm的时候,系统找不到解释器,手动加上. 错误经过: 等写程序用到import以后发现自己缺少包,原本在pycharm里自动安装的pip和setuptools都没有,就像图中这样. 随后自己去官网下了pip,但在安装时报错,缺少setuptools 截图没了,找个网上的,就是类似这种情况. 尝试搜索,用python setup.py install //安装 仍然以…
作为Python标准的打包及分发工具,setuptools可以说相当地简单易用.它会随着Python一起安装在你的机器上.你只需写一个简短的setup.py安装文件,就可以将你的Python应用打包 首先,如果你需要另外安装setuptools,你可以使用下面的命令: wget http://peak.telecommunity.com/dist/ez_setup.py sudo python ez_setup.py 第一个安装文件 接下来让我们编写安装文件,假设我们的项目名为setup-dem…
作为Python标准的打包及分发工具,setuptools可以说相当地简单易用.它会随着Python一起安装在你的机器上.你只需写一个简短的setup.py安装文件,就可以将你的Python应用打包.本文就会介绍下如何编写安装文件及如何打包分发. 首先,如果你需要另外安装setuptools,你可以使用下面的命令: $ wget http://peak.telecommunity.com/dist/ez_setup.py $ sudo python ez_setup.py 第一个安装文件 接下来…
编写setup.py文件,获取帮助:python setup.py --help-commands [python]  Standard commands:    build             build everything needed to install    build_py          "build" pure Python modules (copy to build directory)    build_ext         build C/C++ ex…
背景 nova服务构建失败,报错: 'tests_require' must be a string or list of strings containing valid project/version requirement specifiers 概述 推荐-Python 包管理工具解惑 openstack/nova setup.py 孔令贤-关于python中的setup.py 簡單的插件框架 - 使用 pkg_resources python setup.py --help-comman…
http://python.jobbole.com/80912/ 在我开始之前,我想先说清楚我将要解释的是些“窍门”.他们不是“最好的做法”,至少在一种情况下是不可取的. 说到不可取的做法,我会适时写一个“setup.py陷阱”的博文,这都是我相信你不会在setup.py模块做出的事情. 窍门 这些窍门让我使用python做打包管理变得更简单.在你完善他们之前,我建议你至少有些关于创建新包的基本经验.学python打包的两种方法是New Library Sprint (初级)和 Python P…
在安装Python包的过程中,经常涉及到distutils.setuptools.distribute.setup.py.easy_install.easy_install和pip等等. 介绍:http://www.cnblogs.com/wilber2013/p/4769467.html 表格对比区别: 项目 说明 distutils distutils 是 python 标准库的一部分,这个库的目的是为开发者提供一种方便的打包方式, 同时为使用者提供方便的安装方式:我们经常使用的setup.…
最近做个一个项目需要用到setup.py 这个构建工具来进行项目的便捷安装,把搜集到的一些资料加上个人理解整理成文章,如有错误的地方请各位大佬及时指出,小弟马上修改,下面正式进入setup.py的描述讲解. 1.因为我们要用setup.py来将我们的项目打包成一个Python包,所以首先我们需要创建一个包文件夹,该包的命名依照以下包版本的命名格式: N.N[.N]+[{a|b|c|rc}N[.N]+][.postN][.devN]     解释: "N.N": 必须的部分,两个&quo…
发布项目遇到了坑……特此记录. How to write setup.py: https://docs.python.org/2/distutils/setupscript.html Setup.py setup.py是python的一个项目发布管理工具.我们常常安装别人的代码也是借助setup.py. 我的项目的setup.py示例: from setuptools import setup, find_packages setup( name="rdir", version=&qu…
手动安装django_chartit库 1 下载压缩包 2 解压到python安装目录下,文件夹名为django_chartit,并检查文件夹下是否有setup.py文件 3 在cmd中进入django_chartit文件夹下,cmd命令为 cd C:\Python27\django_chartit 4 输入python setup.py build并执行 5 输入python setup.py install执行,不出意外安装成功 6 import chartit不报错即安装成功 下章将如何运…
1.制作setup.py from distutils.core import setup setup(name='Myblog', version='1.0', description='My Blog Distribution Utilities', author='lujianxing', author_email='lujianxing@lujianxing.com', url='http://blog.lujianxing.com', py_modules=['foo'] ) py_m…
问题 Mac 下通过 pip 安装 icu 失败. 解决办法及原因 问题的原因是因为icu库中的某一行代码找不到一个文件,获取不到ICU_VERSION的值. # Install icu brew install icu4c # check newest version ls /usr/local/Cellar/icu4c/ # Edit pyicu installer to work git clone https://github.com/ovalhub/pyicu.git # edit s…
公司业务需求,开发语言python2,需要使用数据库:postgresql,需要安装模块psycopg2这个模块, 使用pip install psycopg2 报错: Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-mvzdNj/psycopg2/ 最后google找到这篇博文:https://www.cnblogs.com/dspace/p/5438628.html 成功…
关于python setup.py文件的编写技巧 环境:最新版setuptools,初步认识setuptools可以参考这篇文章 1. 自定义命令 from setuptools import setup, Command class MyCommand(Command): description = "Description of the command" user_options = [] # This method must be implemented def initiali…
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-f8IeEI/MYSQL-python/ 错误无法安装python第三方库 需要安装libmysqlclient-dev apt-get install libmysqlclient-dev 接下来在顺序进行安装即可…
hu@hu-VirtualBox:/home/newdisk/telnet-scanner$ sudo pip install MySQL-python[sudo] hu 的密码: The directory '/home/hu/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions…
Setup.py文件 from setuptools import setup from codecs import open # 第三方依赖包及版本号 requires = ['beautifulsoup4>=4.3.2', 'gearman>=2.0.2', 'pymongo>=2.7.2', 'threadpool>=1.2.7', 'geoip2>=2.1.0', 'pywin32>=219'] # 包列表 packages = ['MSE', 'MSE.Dev…
最近工作需要,用Cython写了*.pyx扩展,并将其编译成C文件,最后转换为so扩展,供python引用使用 distutils 编译,建立一个setup.py 的脚本from distutils.core import setupfrom distutils.extension import Extensionfrom Cython.Distutils import build_extsetup(name = 'cython_build_test’, cmdclass = {'build_e…