一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - 利用setuptools打包python程序的方法步驟

利用setuptools打包python程序的方法步驟

2020-04-16 12:52風間悠香 Python

這篇文章主要介紹了利用setuptools打包python程序的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

一、準備工程文件

1.創建工程leeoo

利用setuptools打包python程序的方法步驟

2.在工程根目錄下創建setup.py文件

利用setuptools打包python程序的方法步驟

3.在工程根目錄下創建同名package

利用setuptools打包python程序的方法步驟

二、編輯setup.py

1.編輯setup.py文件

?
1
2
3
4
5
6
7
8
9
10
11
from setuptools import setup, find_packages
 
setup(
  name='leeoo', # 包的名稱
  version='1.0', # 版本號
  packages=find_packages(), # 動態獲取packages
  description="leeoo package",
  author='Leo',
  author_email='[email protected]',
  url="None",
)

2.參數說明

利用setuptools打包python程序的方法步驟

三、編寫測試代碼

1.在leeoo package下創建pkg

利用setuptools打包python程序的方法步驟

2.test.py文件內容

?
1
2
3
4
5
6
7
8
9
10
11
def testfunc():
  print("This is a test function..")
 
 
class TestClass(object):
  def __init__(self, name):
    self.name = name
    print("This is a test Class..")
 
  def get_name(self):
    return self.name

3.將test.py中的內容全部導入到leeoo的__init__.py中

利用setuptools打包python程序的方法步驟

這樣,以后import leeoo后,就可以直接使用leeoo.testfunc()了。

四、打包

1.命令行進入工程根目錄

利用setuptools打包python程序的方法步驟

2.運行命令

?
1
2
(venv) D:\pycharm_workspace\leeoo>python setup.py check
running check
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
(venv) D:\pycharm_workspace\leeoo>python setup.py bdist_egg
running bdist_egg
running egg_info
creating leeoo.egg-info
writing leeoo.egg-info\PKG-INFO
writing dependency_links to leeoo.egg-info\dependency_links.txt
writing top-level names to leeoo.egg-info\top_level.txt
writing manifest file 'leeoo.egg-info\SOURCES.txt'
reading manifest file 'leeoo.egg-info\SOURCES.txt'
writing manifest file 'leeoo.egg-info\SOURCES.txt'
installing library code to build\bdist.win-amd64\egg
running install_lib
running build_py
creating build
creating build\lib
creating build\lib\leeoo
copying leeoo\__init__.py -> build\lib\leeoo
creating build\bdist.win-amd64
creating build\bdist.win-amd64\egg
creating build\bdist.win-amd64\egg\leeoo
copying build\lib\leeoo\__init__.py -> build\bdist.win-amd64\egg\leeoo
byte-compiling build\bdist.win-amd64\egg\leeoo\__init__.py to __init__.cpython-37.pyc
creating build\bdist.win-amd64\egg\EGG-INFO
copying leeoo.egg-info\PKG-INFO -> build\bdist.win-amd64\egg\EGG-INFO
copying leeoo.egg-info\SOURCES.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying leeoo.egg-info\dependency_links.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying leeoo.egg-info\top_level.txt -> build\bdist.win-amd64\egg\EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating dist
creating 'dist\leeoo-1.0-py3.7.egg' and adding 'build\bdist.win-amd64\egg' to it
removing 'build\bdist.win-amd64\egg' (and everything under it)

3.查看生成的文件

在工程根目錄下,可以看到生成了一系列文件:

利用setuptools打包python程序的方法步驟

五、安裝leeoo

1.在工程目錄下(setup.py所在目錄)運行命令

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
D:\pycharm_workspace\leeoo>python setup.py install
running install
running bdist_egg
running egg_info
writing leeoo.egg-info\PKG-INFO
writing dependency_links to leeoo.egg-info\dependency_links.txt
writing top-level names to leeoo.egg-info\top_level.txt
reading manifest file 'leeoo.egg-info\SOURCES.txt'
writing manifest file 'leeoo.egg-info\SOURCES.txt'
installing library code to build\bdist.win-amd64\egg
running install_lib
running build_py
creating build\bdist.win-amd64\egg
creating build\bdist.win-amd64\egg\leeoo
copying build\lib\leeoo\__init__.py -> build\bdist.win-amd64\egg\leeoo
byte-compiling build\bdist.win-amd64\egg\leeoo\__init__.py to __init__.cpython-37.pyc
creating build\bdist.win-amd64\egg\EGG-INFO
copying leeoo.egg-info\PKG-INFO -> build\bdist.win-amd64\egg\EGG-INFO
copying leeoo.egg-info\SOURCES.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying leeoo.egg-info\dependency_links.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying leeoo.egg-info\top_level.txt -> build\bdist.win-amd64\egg\EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating 'dist\leeoo-1.0-py3.7.egg' and adding 'build\bdist.win-amd64\egg' to it
removing 'build\bdist.win-amd64\egg' (and everything under it)
Processing leeoo-1.0-py3.7.egg
Copying leeoo-1.0-py3.7.egg to d:\dev_apps\anaconda5.3.0\lib\site-packages
Adding leeoo 1.0 to easy-install.pth file
 
Installed d:\dev_apps\anaconda5.3.0\lib\site-packages\leeoo-1.0-py3.7.egg
Processing dependencies for leeoo==1.0
Finished processing dependencies for leeoo==1.0

2.查看安裝好的文件

我們看到上述打印日志中,將leeoo-1.0-py3.7.egg安裝到了d:\dev_apps\anaconda5.3.0\lib\site-packages。

利用setuptools打包python程序的方法步驟

六、使用leeoo

新建一個項目,然后導入leeoo:

?
1
2
3
4
5
import leeoo
 
leeoo.testfunc()
obj = leeoo.TestClass("demo")
print(obj.get_name())

也可以使用:

?
1
2
3
4
5
from leeoo.pkg import test
 
test.testfunc()
obj = test.TestClass("demo")
print(obj.get_name())

當然也可以直接將testfunc()和TestClass導入,但是容易引起命名沖突。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://www.cnblogs.com/leokale-zz/p/12207923.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日产乱码2021永久手机版 | 国产伦码精品一区二区三区 | 大桥未久midd—962在线 | 男插女的下面免费视频夜色 | 色噜噜国产精品视频一区二区 | 欧美日韩国产一区二区三区不卡 | 日本在线观看www鲁啊鲁视频 | 3黑人巨大vs北岛玲 3d肉浦团在线观看 3d动漫免费 | 亚洲精品成人456在线播放 | 99re这里只有精品在线观看 | 欧美亚洲天堂 | 青青91| 精品午夜寂寞黄网站在线 | sss视频在线精品 | 日韩免费毛片视频杨思敏 | 亚洲瑟瑟网 | 欧美伊香蕉久久综合类网站 | 三年片韩国在线观看 | 朝鲜女人free性xxe | 久久日韩精品无码一区 | 亚洲福利在线观看 | 国产良心大作白丝精厕 | www免费看| 亚洲欧美一 | 精品一区二区视频 | 青青在线观看视频 | 母性本能在线观看 | 国产精品林美惠子在线观看 | 高h辣文小说网 烧书阁 | 亚洲欧美在线观看一区二区 | 日韩一区二区中文字幕 | 欧美成人免费草草影院视频 | 午夜理论电影在线观看亚洲 | 日本三级大学生17 | 日韩a一级欧美一级 | 国产自在自拍 | 天堂网站天堂小说 | 日本免费看 | 亚洲精品国产在线网站 | 日本中文字幕在线精品 | 亚洲欧美韩国日产综合在线 |