日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python模块安装包_制作python模块安装包[转载自刘天斯]

發布時間:2024/3/13 python 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python模块安装包_制作python模块安装包[转载自刘天斯] 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

python的第三方模塊越來越豐富,涉及的領域也非常廣,如科學計算、圖片處理、web應用、GUI開發等。當然也可以將自己寫的模塊進行打包或發布。一簡單的方法是將你的類包直接copy到python的lib目錄,但此方式不便于管理與維護,存在多個python版本時會非常混亂。現介紹如何編寫setup.py來對一個簡單的python模塊進行打包。

一、編寫模塊

進入項目目錄

#cd /home/pysetup

#vi foo.py

view plain print ?

class MyClass():

def __init__(self):

self.blog = "http://blog.liuts.com"

def printblog(self):

print self.blog

def printBblog(self):

print self.blog.swapcase()

二、編寫setup.py

#vi setup.py

view plain print ?

from distutils.core import setup

setup(name='Myblog',

version='1.0',

description='My Blog Distribution Utilities',

author='Liu tiansi',

author_email='liutiansi@gmail.com',

url='http://blog.liuts.com',

py_modules=['foo'],

)

更多參數說明見表:

三、setup.py參數說明

引用

#python setup.py build # 編譯

#python setup.py install #安裝

#python setup.py sdist #生成壓縮包(zip/tar.gz)

#python setup.py bdist_wininst #生成NT平臺安裝包(.exe)

#python setup.py bdist_rpm #生成rpm包

或者直接"bdist 包格式",格式如下:

引用

#python setup.py bdist --help-formats

--formats=rpm RPM distribution

--formats=gztar gzip'ed tar file

--formats=bztar bzip2'ed tar file

--formats=ztar compressed tar file

--formats=tar tar file

--formats=wininst Windows executable installer

--formats=zip ZIP file

四、打包

#python setup.py sdist

引用

running sdist

warning: sdist: manifest template 'MANIFEST.in' does not exist (using default file list)

warning: sdist: standard file not found: should have one of README, README.txt

writing manifest file 'MANIFEST'

creating Myblog-1.0

making hard links in Myblog-1.0...

hard linking foo.py -> Myblog-1.0

hard linking setup.py -> Myblog-1.0

creating dist

tar -cf dist/Myblog-1.0.tar Myblog-1.0

gzip -f9 dist/Myblog-1.0.tar

removing 'Myblog-1.0' (and everything under it)

提示兩條warning可以忽略,不影響打包,當然一個完善的項目必須有README及MANIFEST.in(項目文件清單)文件。

#ls dist

Myblog-1.0.tar.gz

五、安裝

#tar -zxvf Myblog-1.0.tar.gz

#cd Myblog-1.0.tar.gz

#python setup.py install (此命令大家再熟悉不過了)

引用

running install

running build

running build_py

creating build/lib.linux-x86_64-2.6

copying foo.py -> build/lib.linux-x86_64-2.6

running install_lib

copying build/lib.linux-x86_64-2.6/foo.py -> /usr/local/lib/python2.6/dist-packages

byte-compiling /usr/local/lib/python2.6/dist-packages/foo.py to foo.pyc

running install_egg_info

Writing /usr/local/lib/python2.6/dist-packages/Myblog-1.0.egg-info

六、測試

引用

>>> from foo import MyClass

>>> app=MyClass()

>>> app.print printblog()

>>> app.printblog()

http://blog.liuts.com

>>> app.printBblog()

HTTP://BLOG.LIUTS.COM

>>>

如何使用和制作 Python 安裝模塊(setup.py)

分類: Python 2011-07-08 14:16 10829人閱讀 評論(0) 收藏 舉報

python import module windows build java

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 setup.py build #編譯

% python setup.py install #安裝

% python setup.py sdist #制作分發包

% python setup.py bdist_wininst #制作windows下的分發包

% python setup.py bdist_rpm

setup.py文件的編寫:

setup.py中主要執行一個 setup函數,該函數中大部分是描述性東西,最主要的是packages參數,列出所有的package,可以用自帶的find_packages來動態獲取package。所以setup.py文件的編寫實際是很簡單的。

簡單的例子:

setup.py文件:

from setuptools import setup, find_packages

setup(

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 sys

def get():

return sys.path

scripts/test.py文件:

import os

print os.environ.keys()

setup中的scripts表示將該文件放到 Python的Scripts目錄下,可以直接用。OK,簡單的安裝成功,可以運行所列舉的命令生成安裝包,或者安裝該python包。

總結

以上是生活随笔為你收集整理的python模块安装包_制作python模块安装包[转载自刘天斯]的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。