setuptools 工具的簡單使用

2021-10-05 19:56:12 字數 4117 閱讀 8884

使用虛擬環境可以隔離其他環境, 當然也可以不使用

$ mkvirtualenv setup -p /usr/bin/python3.7

(setup)$ pip3 list

輸出

package    version

---------- -------

pip 20.1

setuptools 46.1.3

wheel 0.34.2

其中 setuptools 是用於自定義 python 第三方庫的工具

新建檔案 setup.py, 內容如下

from setuptools import setup

setup(

name=

"demo"

, version=

"0.1"

, scripts=

)

過程很簡單, 僅僅呼叫了 setup 函式

編譯安裝該庫

(setup)$ python3 setup.py install
檢視當前庫

(setup)$ pip3 list
package    version

---------- -------

demo 0.1

pip 20.1

setuptools 46.1.3

wheel 0.34.2

已經多出了乙個庫 demo, 當然該庫僅僅是個擺設, 使用 import demo 會報錯

使用命名 setup.py 是乙個慣例, 可以使用其他名稱

(setup)$ mv setup.py test.py

(setup)$ python3 test.py install

在同一目錄建立兩個檔案 setup.py 和 demo.py

demo.py 的內容如下, 在 demo 類中使用了 property 裝飾器來封裝 name 屬性

__version__ =

"0.2"

defadd

(x, y)

:return x + y

class

demo

:def

__init__

(self)

: self.__name =

"jianghuixin"

@property

defname

(self)

:return self.__name

@name.setter

defname

(self, value)

: self.__name = value

改寫 setup.py

from setuptools import setup

setup(

name=

"demo"

, version=

"0.2"

, scripts=

["demo.py"

])

在當前目錄編譯安裝

(setup)$ python3 setup.py install
成功安裝 0.2 版的 demo 庫, 該庫可以被匯入使用

(setup)$ python3                 

python 3.7

.5(default, nov 7

2019,10

:50:52

)[gcc 8.3

.0] on linux

type "help",,

"credits"

or"license"

for more information.

>>

>

import demo

>>

> demo.__version__

'0.2'

>>

> demo.add(1,

2)3>>

> d=demo.demo(

)>>

> d.name

'jianghuixin'

>>

> d.name=

"hoss"

>>

> d.name

'hoss'

在乙個目錄下建立乙個包和 setup.py

.

.├── demo

│ ├── demo.py

│ └── __init__.py

└── setup.py

demo.py 的內容

__version__ =

"0.3"

defmultiply

(x, y)

:return x * y

class

zeros

:def

__init__

(self, length)

: self.length = length

def__len__

(self)

:return

int(self.length)

def__getitem__

(self, item)

:if item < self.length:

return

0else

:raise indexerror

setup.py 的內容:

from setuptools import setup

setup(

name=

"demo",

version=

"0.3",

description=

"demo",

author=

"jianghuixin",

packages=

["demo"

])

在當前目錄編譯安裝

(setup)$ python3 setup.py install
(setup)$ python3

python 3.7

.5(default, nov 7

2019,10

:50:52

)[gcc 8.3

.0] on linux

type "help",,

"credits"

or"license"

for more information.

>>

>

from demo import demo

>>

> demo.__version__

'0.3'

>>

> demo.multiply(1,

2)2>>

> z=demo.zeros(

3.6)

>>

>

len(z)

3>>

>

list

(z)[0,

0,0,

0]

檢視庫資訊

(setup)$ pip3 show demo

name: demo

version: 0.3

summary: demo

home-page: unknown

author: jianghuixin

author-email: unknown

license: unknown

location: /home/jianghuixin/.virtualenvs/setup/lib/python3.7/site-packages/demo-0.3-py3.7.egg

requires:

required-by:

PS海綿工具加深工具簡單工具的區別

先來簡單概述一下3個工具的作用,再講述區別 主要是用來突出主體部分,調整區域性飽和度主要吸取黑白以外的部分 分為去色和加色兩種模式 即降低飽和度 增加飽和度 變暗工具,對影象進行變暗達到對影象的顏色加深的效果 相當於陰影 與建大農具搭配會有立體的效果 增亮工具,對影象中部分進行增加亮度處理達到對影象...

Junit工具的簡單使用

windows平台,工具為intellij 使用junit完成一次向 helloworld 那樣基礎的測試 導包 需要兩個類 需要測試的類和進行測試的類 import org.junit.test import static org.junit.assert.assertequals public ...

sipp工具 簡單介紹

5.有乙個簡單但易於理解的基於字元的實時統計介面。sipp可以測試多種sip元件,比如說sip 伺服器 proxy b2buas,sip 伺服器,sip與其他應用層協議轉換的閘道器,sip集團 等。1.編譯依賴。sipp依賴以下元件 2.make的時候有幾種選項 a configure make 搭...