如何制作pythonpython中如何安装模块块

平常一般都在Linux下用Python,今天女票突然说让帮忙把一些图片全部弄成一个分辨率的,作为程序员,这种重复的工作还是交给计算机吧。
废话不多说,打开Cmd看下Windows的python下面是否有PIL(python imaging library)这个库,很不辛,木有。
于是到&&下载一个,python imaging library 1.1.7 for Python 2.7 (windows only)。
exe文件,直接双击,提示:Python version 2.7 required, which was not found in the registry
明明不是装了Python吗,检查了下环境变量,没有问题。
然后上网百度,发现我的系统是win7 64位的,而PIL官网提供的下载包都是32位的,可以在这里看到&http://effbot.org/downloads#pil
64位检查注册表的位置是:&HKLM|HKCU\SOFTWARE\
32位检查注册表的位置是:&HKLM|HKCU\SOFTWARE\wow6432node\
然后,有人提供了非官方的64位库:
叫做Pillow,下载下来,是个 .whl 结尾的文件,这个其实就是python使用的一种压缩文件,后缀名改成zip,可以打开。
这个需要用 pip 安装。
如果没有在windows上安装pip,可以参考我的另一篇文章:
pip install Pillow-2.7.0-cp27-none-win_amd64.whl& 即可。
注意,这里有一段
&is a replacement for&, the Python Image Library, which provides image processing functionality and supports many file formats. Use `from PIL import Image` instead of `import Image`.
意思就是说,要用 ‘ from PIL import Image' 代替 'import Image'
然后进python 命令行
from PIL import Image
OK,安装成功了。用法和PIL一样。
另外,还有通过源码自己编译的方法在windows上安装,可以参考:python发布模块的步骤分享
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了python发布模块的步骤,需要的朋友可以参考下
1.为模块nester创建文件夹nester,其中包含:nester.py(模块文件):
代码如下:"""这是"nester.py"模块,提供了一个名为print_lol()函数,&& 函数作用是打印列表,气质包含嵌套列表"""def print_lol(the_list):&&& """这个函数取了一个位置参数,名为"the_list",可以是任何python列表&&&&&& 所指定的列表中的每一个数据项会递归地输出到屏幕上,各数据项占一行"""&&& for each_item in the_list:&&&&&&& if isinstance(each_item,list):&&&&&&&&&&& print_lol(each_item)&&&&&&&&&&&&&&& else:print(each_item)
2.在netster文件夹中新建一个setup.py文件(包含需要发布的元素):
代码如下:from distutils.core import setupsetup(name='nester',&&&&& version='1.0',&&&&& py_modules='nester',&&&&& author='nidieya')
3.构建发布文件:
《Head First Python》里讲的是Linux环境下模块的发布与构建
window下构建模块遇到了问题:
在CMD里面输入python则显示不是内部或外部命令
把python的安装目录添加到系统环境变量PATH中。例如安装在 C:\Python33我的电脑图标上点右键 -& 属性 -& 高级 -& 环境变量
打开的对话框双击上方的PATH那行,在变量值那栏里添加上C:\Python33;注意与前面的用分号;隔开。问题解决了就可以进行发布模块的步骤了
在DOS命令行中打开nester所在的目录cd c:\nester 我放在C根目录下 代码如下:python setup.py sdist
4.发布安装到你的python本地副本中 代码如下:python setup.py install
&模块发布完成后就可以导入使用了
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具以安装Httplib2模块为例1 下载模块& &到 “/p/httplib2/” 下载一款适合你的压缩包“httplib2-0.4.0.zip”2 解压下载的压缩包“httplib2-0.4.0.zip”到某目录下3配置python在dos下的运行环境& (之前需要配置系统环境变量,在系统环境变量Path后添加python安装目录,例如c:/python2.7)4 dos下安装httpLib2模块&进入httplib2-0.4.0.zip的解压目录,运行python settup.py install 进行安装即:用快捷键ctrl+r,敲入cmd,在cmd命令行下:到你的python目录下:比如:d:Python27;d:cd Python26cd 你解压的目录(该目录下有个setup.py文件)执行:python setup.py install即可;/qibileiru/p/3247771.html注:在ubuntu下使用easy_install httplib2
最新教程周点击榜
微信扫一扫Python模块的安装方法:1. 单文件模块:直接把文件拷贝到$python_dir/lib2. 多文件模块,带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 setup.py build #编译% python setup.py install&&&&#安装% python setup.py sdist&&&&&#制作分发包% python setup.py bdist_wininst #制作windows下的分发包% python setup.py bdist_rpmsetup.py文件的编写:
setup.py中主要执行一个 setup函数,该函数中大部分是描述性东西,最主要的是packages参数,列出所有的
package,可以用自带的find_packages来动态获取package。所以setup.py文件的编写实际是很简单的。
简单的例子:setup.py文件:from setuptools import setup, find_packagessetup(&&&&&&name="mytest",&&&&&&version="0.10",&&&&&&description="My test module",&&&&&&author="Robin Hood",&&&&&&url="http://www.csdn.net",&&&&&&license="LGPL",&&&&&&packages= find_packages(),&&&&&&scripts=["scripts/test.py"],&&&&&&)mytest.py文件:import sysdef get():&&&&return sys.pathscripts/test.py文件:import osprint os.environ.keys()setup中的scripts表示将该文件放到 Python的Scripts目录下,可以直接用。OK,简单的安装成功,可以运行所列举的命令生成安装包,或者安装该python包。本机测试成功(win32-python25)!转自:http://blog.csdn.net/foyuan/archive//1883924.aspx/bbs/thread-.html
阅读(...) 评论()昨天把自己的VASP文件处理库进行了打包并上传到PyPI,现在可以直接通过pip和easy_install来安装VASPy啦(同时欢迎使用VASP做计算化学的童鞋们加星和参与进来),
VASPy的GotHub地址:VASPy的PyPI地址:
由于自己的记性真是不咋地,怕时间久了就忘了,于是在这里趁热打铁以自己的VASPy程序为例对python的打包和上传进行下总结。
VASPy包文件结构
首先写贴上来VASPy包的整个文件结构, 后面的内容都是以此为例进行说明:
VASPy/├── LICENSE├── MANIFEST├── MANIFEST.in├── README.rst├── requirements.txt├── scripts│├── change_incar_parameters.py│├── create_inputs.py│└── ...├── setup.cfg├── setup.py├── tests│├── incar_test.py│├── __init__.py│├── oszicar_test.py│├── outcar_test.py│├── testdata││├── CONTCAR││├── DOS_SUM││├── ELFCAR││└── ...│└── ...└── vaspy├── __init__.py├── iter.py├── matstudio.py└── ...4 directories, 54 files
打包和安装第三方包的工具
这里我们需要借助setuptools和pip等工具进行自己包的打包和发布以及安装,如果需要构建成wheel还需要安装wheel模块。如果python版本>=2.7.9或者>=3.4,setuptools和pip是已经安装好的,可能需要进行更新到最新版本
pip install -U pip setuptools
可以使用包管理工具,例如
yum install pipsudo apt-get install pip
通过get-pip.py脚本安装,如果检测到没有安装wheel和setuptools也会自动安装
python get-pip.py
具体的工具安装和介绍就不多讲了,可以请参考requirements for installing packages
包中不同文件的作用
这个文件是打包整个项目最重要的文件,它里面提供了两个主要的功能:
setup()函数,此函数的参数指定了如何配置自己的项目。命令行工具,包括打包,测试,发布等。可以通过下面的命令查看;
python setup.py --help-commands
此文件包含了构建时候的一些默认参数例如构建bdist_wheel的时候的--universal参数
[bdist_wheel]universal=1
这样每次打包的时候就会默认使用--universal参数了,效果类似:
python setup.py bdist_wheel --universal
README.rst
这个最初我是用markdown写的,打包发布到PyPI之后发现PyPI不支持markdown的渲染,页面上真是一片混乱,于是就用reStrutruedText的语法重新写了一遍。毕竟标记语言语法基本上可以秒上手,实在不行找个模板比葫芦画瓢就行。reStructureText的语法规则可参考官方文档:Quick reStructuredText
其实还有一种方法就是使用pandoc将markdown转换成rst格式,一种省事的方式就是使用pyandoc模块在发布的时候自动转换。具体方法可以参考:Use Markdown README's in Python modules
MANIFEST.in
此文件在打包的时候告诉setuptools还需要额外打包那些文件,例如我VASPy中的单元测试的测试数据文件我就使用这个文件将其包含进来。当然README,LICENSE这些也可以通过它来一起打包进来。下面是我自己的MANIFEST.in的内容:
include README.rstinclude requirements.txtinclude LICENSErecursive-include scripts *recursive-include tests *
具体的语法规则可以参考:The MANIFEST.in template
此文件夹就是vaspy源代码所在的包。
此文件夹也是一个子包,包含了单元测试脚本,为了能使用python setup.py test进行单元测试,特地添加了__init__.pys使其成为一个包。
setup()的参数
这里只介绍我使用的几个参数,其他参数的具体使用可以参考:
versions = "vaspy"
是整个项目的名字,打包后会使用此名字和版本号。
from vaspy import __version__version = __version__
description
是一个简短的对项目的描述,一般一句话就好,会显示在pypi上名字下端。
long_description
是一个长的描述,相当于对项目的一个简洁,如果此字符串是rst格式的,PyPI会自动渲染成HTML显示。这里可以直接读取README.rst中的内容。
包的连接,通常为GitHub上的链接或者readthedocs的链接。
需要包含的子包列表,setuptools提供了find_packages()帮助我们在根路径下寻找包,这个函数distutil是没有的。
setup_requires
这个参数定义了VASPy安装和顺利运行所需要的其他依赖项(最基本的),使用pip安装的时候会对这些依赖项进行安装。关于这个参数与requirements.txt的区别可以参考:install_requires vs Requirements files
classifier
这个参数提供了一系列的分类,在PyPI上会将其放入不同的目录中讲项目进行归类。具体的categories的名称和规则参考:
test_suite
这个参数可以帮助我们使用
python setup.py test
来跑单元测试,再也不需要单独再写一个脚本例如run_tests.py这样来跑单元测试了。此参数的官方解释:
A string naming a unittest.TestCase subclass (or a package or module containing one or more of them, or a method of such a subclass), or naming a function that can be called with no arguments and returns a unittest.TestSuite. If the named suite is a module, and the module has an additional_tests() function, it is called and the results are added to the tests to be run. If the named suite is a package, any submodules and subpackages are recursively added to the overall test suite.
也就是说这个参数可以接受多种类型的参数:
接收unittest.TestCase子类,我们可以讲所有单元测试写入一个测试用例中,然后import进来,再传你给test_suite接收函数对象,此函数对象没有任何参数,且返回一个unittest.TestSuite.这样我们就可以单独写一个函数,将多个测试用例合并成一个suite然后返回,然后再将函数import进来传给test_suite。
模块和包名称,我就是使用这种方式,之前自己的测试都是分开的多个脚本,这样我添加一个__init__.py就可以将其变成一个包,将包名传给test_suite,setuptools就会神奇的将此包下的所有测试全部跑一边,这样我以后再加测试脚本的时候直接就添加新的脚本就好了,其他的都不需要改动了。
运行效果:
zjshao@SHAO-PC:/mnt/d/Dropbox/Code/CentOS_code/VASPy$ python setup.py testrunning testrunning egg_infocreating vaspy.egg-infowriting vaspy.egg-info/PKG-INFOwriting top-level names to vaspy.egg-info/top_level.txtwriting dependency_links to vaspy.egg-info/dependency_links.txtwriting manifest file 'vaspy.egg-info/SOURCES.txt'reading manifest file 'vaspy.egg-info/SOURCES.txt'reading manifest template 'MANIFEST.in'writing manifest file 'vaspy.egg-info/SOURCES.txt'running build_exttest_compare (tests.incar_test.InCarTest)Make sure we can compare two InCar objects correctly. ... oktest_eq (tests.incar_test.InCarTest)Test __eq__() function. ... ok...此处省略若干输出----------------------------------------------------------------------Ran 22 tests in 3.574sOK
发布自己的python包
1. 首先先去PyPI注册帐号
2. 配置~/.pypirc如下:
[distutils]index-servers =pypipypitest[pypi]username:ShaoZhengjiangpassword:mypassword[pypitest]username:ShaoZhengjiangpassword:mypassword
3. 然后注册并上传自己的包到测试服务器
pypi提供了一个测试服务器,我们可以在这个测试服务器上做测试。
python setup.py register -r pypitest
python setup.py sdist upload -r pypitest
若没有问题我们应该不会得到任何错误。
4. 上传至PyPI
若上面的测试成功,我们就可以按照相同的步骤将包注册并上传。
python setup.py register -r pypipython setup.py sdist upload -r pypi
Ok,之后我们就可以在PyPI()上看到我们自己的包了。
<span class="tipso_style" id="tip-p" data-tipso='
您可以选择一种方式赞助本站

我要回帖

更多关于 python安装numpy模块 的文章

 

随机推荐