1. 程式人生 > >python中disutils打包與安裝

python中disutils打包與安裝

2. 使用例子:
pkg資料夾下有一下檔案:
mymodule.py:
def func():
print('this is my module')


README.txt:裡面內容可以自己定義


setup.py:
from distutils.core import setup
setup(name='pkg',  # 包名(必需)
      version='1.0', #版本號
      author='author1', 
      author_email = '[email protected]',
      py_modules=['mymodule'], #各模組名稱組成的列表,此模組可能位於包的根目錄下,也可能位於某子包目錄中
      url = 'http://www.baidu.com',
      description = 'A simple module'
      )


打包:cmd命令cd到pkg資料夾下
原始碼包打包:
執行:python setup.py sdist進行打包,打包後pkg資料夾下會有一個dist資料夾,
裡面有pkg-1.0.zip(win7預設格式)
指定格式打包:python setup.py sdist --formats=bztar,輸出pkg-1.0.tar.bz2
當然以其他格式打包也行,原始碼打包後,進行解壓後,會有四個檔案:
mymodule.py,README.txt,setup.py,PKG_INFO


二進位制包打包:
執行:python setup.py bdist
python setup.py bdist --formats=msi
python setup.py bdist_wininst //Windows 下使用,此種方法打包後,會在dist資料夾生成
pkg-1.0.win32.exe,執行安裝時,若你已經安裝了python,會預設安裝到F:\Python\Lib\site-packages\目錄下
,該目錄被包含在sys.path中,匯入模組時,可以直接匯入,會預設到該目錄下搜尋。
當然也可打包linux格式:python setup.py bdist_rpm //Linux 下使用


安裝:
原始碼包的安裝是將原始碼包解壓後,執行python setup.py install;而Windows和Linux安裝包則直接執行安裝檔案;
上面例子執行原始碼安裝:python setup.py install,輸出:
running install
running build
running build_py
creating build
creating build\lib
copying mymodule.py -> build\lib
running install_lib
byte-compiling F:\Python\Lib\site-packages\mymodule.py to mymodule.cpython-34.pyc
running install_egg_info
Removing F:\Python\Lib\site-packages\pkg-1.0-py3.4.egg-info
Writing F:\Python\Lib\site-packages\pkg-1.0-py3.4.egg-info
執行後F:\Python\Lib\site-packages\目錄下會有mymodule.py,pkg-1.0-py3.4.egg-info檔案,以及在F:
\Python\Lib\site-packages\__pycache__目錄下會有mymodule.cpython-34.pyc位元組碼檔案
安裝後,就可以直接匯入模組了,如import mymodule
>>> import mymodule
>>> mymodule.func()
this is my module

相關推薦

pythondisutils打包安裝

2. 使用例子: pkg資料夾下有一下檔案: mymodule.py: def func():print('this is my module') README.txt:裡面內容可以自己定義 setup.py: from distutils.core import setup setup(name='pkg'

$Django 路飛之redis記憶體資料庫安裝,python使用,Memcached,mongodb的區別

一 redis記憶體資料庫安裝   1.官網下載   2.啟動服務端       redis-server 命令啟動redis服務。         啟動redis服務還有個更方便的方法是把redis加入到Windows服務。         使用cmd進到redis目

詳解pythonxlrd包的安裝處理Excel表格

python處理Excel常用到的模組是xlrd。使用xlrd可以非常方便的處理Excel文件,下面這篇文章將給大家詳細介紹python中包xlrd的安裝與利用xlrd處理Excel表格的方法,有需要的朋友們可以參考學習,下面來一起看看吧。 一、安裝xlrd

python的可變不可變對象

不想 不可變 ron 中一 再看 += function itl 們的 Python中的可變對象和不可變對象 什麽是可變/不可變對象 不可變對象,該對象所指向的內存中的值不能被改變。當改變某個變量時候,由於其所指的值不能被改變,相當於把原來的值復制一份後再改變,這會

python元組小括號的關系

原來 例如 精簡 blank bsp 元素 lis [0 逗號 在學習Python 的時候。說到有兩種數據類型,一種叫 列表,一種叫做元組,可以認為,元組是功能精簡的列表。因為它少了列表很多功能。但是又有相識。定義他們的時候,主要是用中括號和小括號之分。 例如:定義一個列表

Python運算符while初識

strong spa .cn wid 比較 logs 語法 案例 一個 一、運算符   1、算術運算:   2、比較運算:   3、賦值運算:   4、位運算: 註: ~ 舉例: ~5 = -6 解釋: 將二進制數+1之後乘以-1,即~x = -(x+1),-

Python深拷貝淺拷貝區別

分配 img 地址 append 淺拷貝 pen image pre 內容 淺拷貝, list值是可變的,str值不可變,只能重新賦值 a=b=c=‘wjx‘print(a,b,c)c= ‘jmy‘#重新賦值了,所以內存分配了新的地址print(a,b,c)print(id

Python的strunicode處理方法

text pre def 包括 unicode編碼 response 會有 determine 展示 Python中的str與unicode處理方法 2015/03/25 · 基礎知識 · 3 評論 · Python 分享到:42 原文出處: liuaiqi627

Python的classmethodstaticmethod

參數 pri 類的屬性 method 而不是 blog pan bsp clas 首先,這是一個經典的問題。 我們首先做一個比較: classmethod的第一個參數是cls,即調用的時候要把類傳入 這意味著我們我們可以在classmethod裏使用類的屬性,而不是類的實例

Python '==' 'is' 以及它們背後的故事

大小寫 join 計算 style 字符串 意思 arm 屬於 div 摘要   比較判斷邏輯是在代碼中經常使用的,在Python中常用 ‘==‘ 和 is 來做比較判斷。 == : 雙等號是用來比較變量所指向內存單元中的值是否相等,它只關心值,並不在意值的內存

python的__new____init__,新式類和經典類(2.x)

類型 pytho 圖片 pla object pri lba 版本 其它 在python2.x中,從object繼承得來的類稱為新式類(如class A(object))不從object繼承得來的類稱為經典類(如class A()) 新式類跟經典類的差別主要是以下幾點: 

python 的class變數使用

python中的變數定義是很靈活的,很容易搞混淆,特別是對於class的變數的定義,如何定義使用類裡的變數是我們維護程式碼和保證程式碼穩定性的關鍵。 #!/usr/bin/python #encoding:utf-8 global_variable_1 = 'global_variable'

pythonthefuck包的安裝和使用(每個python程式設計師都應該安裝的神器)

thefuck誕生 你是不是經常在終端敲錯命令?敲錯命令,刪掉重敲,很煩有沒有?當你一再敲錯的時候,內心一定很崩潰,一定在默唸FUCK!。就這樣thefuck神器就誕生了。thefuck不僅能修復字元輸入順序的錯誤,在很多別的你想說fuck的情況下,thefuck依然有效,反正只要你因為命令的問

Python關鍵字globalnonlocal的區別

版權宣告:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/xCyansun/article/details/79672634終於下定決心學習Python了。既然從頭開始,就需要認認真真。 首先需要說的是,我是初學Python,這篇文章只是用於展示global和nonl

Python的類例項屬性

類屬性與例項屬性 在瞭解了類基本的東西之後,下面看一下python中這幾個概念的區別 先來談一下類屬性和例項屬性 在前面的例子中我們接觸到的就是例項屬性(物件屬性),顧名思義,類屬性就是類物件所擁有的屬性,它被所有類物件的例項物件所共有,在記憶體中只存在一個副本,這個和C++,java中

pythonos.path sys.path

常用的命令 1 import sys 2 import os.path 3 4 this_dir = os.path.dirname(__file__) 5 sys.path.insert(0, this_dir + '/..') 或 sys.path.append(this_dir) 通過上

pythonelse語句with語句

else語句 if-else語句: 與while語句和for迴圈配合使用: else語句只有在迴圈順利完成後執行,如果迴圈執行過程中使用break等跳出迴圈則else語句不會被執行 求一個數的最大約數: def showMAXFactor(num): cou

python,迴圈遞迴舉例

python中,迴圈與遞迴舉例,包括階乘、計算和等。 1、計算階乘:5! 1)迴圈方法計算 # 迴圈方法計算階乘:5! def fact1(n): i = 1 result = 1 while i <= n: result = r

python使用pycharm2018工具安裝Autopep8

PEP 8,Style Guide for Python Code,是Python官方推出編碼約定,主要是為了保證 Python 編碼的風格一致,提高程式碼的可讀性。 這樣的資料網上很多,但是大多都是老版本的,2018版本之前。我使用的是最新版,有很多改動:詳細配置參見:有兩篇文章寫得比較符合我的版本:1.

Data Wrangling文摘:Data Carpentry:在 Python 複製物件引用物件

原文地址:https://datacarpentry.org/python-ecology-lesson/03-index-slice-subset/index.html   Loading our data We will continue to use the surveys datase