pypi账号注册及设置

注册及添加token

首先在 https://pypi.org/ 注册一个账号,然后在 https://pypi.org/manage/account/ 添加一个token

设备本地token

macOS

~/.pypirc

[distutils]
index-servers =pypi[pypi]repository = https://upload.pypi.org/legacy/username = __token__password = pypi-Ag*******中间省略*******EX_84SF8M3HZg

准备一个python项目

项目目录结构

|____LICENSE
|____pyproject.toml
|____tests # 留空即可
|____README.md
|____MANIFEST.in # 配置项目包含文件(setuptools打包方式生效)
|____test # 测试目录,留空
|____mditor  # 项目名称,pyproject.toml 中一致,也可以不一致
| |____项目文件
| |____views.py

静态文件打包

需要在 pyproject.toml 中使用 setuptools 方式打包,并在 MANIFEST.in 声明

文件内容

pyproject.toml

[build-system]
# 方式一:通过 MANIFEST.in 声明项目包含的文件
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
# 方式二:暂时不知道如何包含文件夹
# requires = ["hatchling"]
# build-backend = "hatchling.build"[project]
name = "mditor"
version = "0.0.1"
authors = [{ name="XiaoBing Jing", email="ju4t@qq.com" },
]
description = "描述"
readme = "README.md"
license = { file="LICENSE" }
requires-python = ">=3.7"
classifiers = ["Programming Language :: Python :: 3","License :: OSI Approved :: MIT License","Operating System :: OS Independent",
][project.urls]
"Homepage" = "https://github.com/ju4t/mditor"
"Bug Tracker" = "https://github.com/ju4t/mditor/issues"

LICENSE

Copyright (c) 2018 The Python Packaging AuthorityPermission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

MANIFEST.in

include LICENSE
include README.md
recursive-include mditor/static *
recursive-include mditor/templates *

使用方法参考:https://packaging.python.org/en/latest/guides/using-manifest-in/

构建及发布

构建及发布命令

# 命令汇总
$ python3 -m pip install --upgrade build
$ python3 -m pip install --upgrade twine
$ python3 -m build
$ python3 -m twine upload --repository pypi dist/*

安装构建和发布所需的软件包

需要 build 和 twine 两个包

# 安装 build 包
$ python3 -m pip install --upgrade buildpython3 -m pip install --upgrade build
Looking in indexes: https://mirrors.aliyun.com/pypi/simple/
Requirement already satisfied: build in /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages (0.8.0)
Requirement already satisfied: importlib-metadata>=0.22 in /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages (from build) (4.12.0)
Requirement already satisfied: packaging>=19.0 in /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages (from build) (21.3)
Requirement already satisfied: pep517>=0.9.1 in /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages (from build) (0.13.0)
Requirement already satisfied: tomli>=1.0.0 in /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages (from build) (2.0.1)
Requirement already satisfied: zipp>=0.5 in /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages (from importlib-metadata>=0.22->build) (3.8.1)
Requirement already satisfied: typing-extensions>=3.6.4 in /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages (from importlib-metadata>=0.22->build) (4.3.0)
Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages (from packaging>=19.0->build) (3.0.9)# 安装 twine 包
python3 -m pip install --upgrade twine
Looking in indexes: https://mirrors.aliyun.com/pypi/simple/
Requirement already satisfied: twine in /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages (4.0.1)
Requirement already satisfied: rich>=12.0.0 in /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages (from twine) (12.5.1)
Requirement already satisfied: readme-renderer>=35.0 in /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages (from twine) (37.0)
Requirement already satisfied: keyring>=15.1 in /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages (from twine) (23.9.0)
Requirement already satisfied: rfc3986>=1.4.0 in /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages (from twine) (2.0.0)
Requirement already satisfied: importlib-metadata>=3.6 in /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages (from twine) (4.12.0)
Requirement already satisfied: pkginfo>=1.8.1 in /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages (from twine) (1.8.3)
Requirement already satisfied: requests-toolbelt!=0.9.0,>=0.8.0 in /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages (from twine) (0.9.1)
Requirement already satisfied: requests>=2.20 in /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages (from twine) (2.28.1)
Requirement already satisfied: urllib3>=1.26.0 in /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages (from twine) (1.26.12)
Requirement already satisfied: typing-extensions>=3.6.4 in /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages (from importlib-metadata>=3.6->twine) (4.3.0)
Requirement already satisfied: zipp>=0.5 in /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages (from importlib-metadata>=3.6->twine) (3.8.1)
Requirement already satisfied: jaraco.classes in /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages (from keyring>=15.1->twine) (3.2.2)
Requirement already satisfied: docutils>=0.13.1 in /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages (from readme-renderer>=35.0->twine) (0.19)
Requirement already satisfied: bleach>=2.1.0 in /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages (from readme-renderer>=35.0->twine) (5.0.1)
Requirement already satisfied: Pygments>=2.5.1 in /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages (from readme-renderer>=35.0->twine) (2.13.0)
Requirement already satisfied: charset-normalizer<3,>=2 in /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages (from requests>=2.20->twine) (2.1.1)
Requirement already satisfied: idna<4,>=2.5 in /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages (from requests>=2.20->twine) (3.3)
Requirement already satisfied: certifi>=2017.4.17 in /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages (from requests>=2.20->twine) (2022.6.15)
Requirement already satisfied: commonmark<0.10.0,>=0.9.0 in /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages (from rich>=12.0.0->twine) (0.9.1)
Requirement already satisfied: webencodings in /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages (from bleach>=2.1.0->readme-renderer>=35.0->twine) (0.5.1)
Requirement already satisfied: six>=1.9.0 in /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages (from bleach>=2.1.0->readme-renderer>=35.0->twine) (1.16.0)
Requirement already satisfied: more-itertools in /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages (from jaraco.classes->keyring>=15.1->twine) (8.14.0)

构建

$ python3 -m build* Creating venv isolated environment...
* Installing packages in isolated environment... (setuptools>=61.0)
* Getting dependencies for sdist...
running egg_info
creating django_mditor.egg-info
writing django_mditor.egg-info/PKG-INFO
writing dependency_links to django_mditor.egg-info/dependency_links.txt
writing top-level names to django_mditor.egg-info/top_level.txt
writing manifest file 'django_mditor.egg-info/SOURCES.txt'
reading manifest file 'django_mditor.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'django_mditor.egg-info/SOURCES.txt'
* Building sdist...
running sdist
running egg_info
writing django_mditor.egg-info/PKG-INFO
writing dependency_links to django_mditor.egg-info/dependency_links.txt
writing top-level names to django_mditor.egg-info/top_level.txt
reading manifest file 'django_mditor.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'django_mditor.egg-info/SOURCES.txt'
running check
creating django-mditor-0.0.11
creating django-mditor-0.0.11/django_mditor.egg-info
creating django-mditor-0.0.11/mditor
creating django-mditor-0.0.11/mditor/static
creating django-mditor-0.0.11/mditor/static/mditor
creating django-mditor-0.0.11/mditor/static/mditor/css
creating django-mditor-0.0.11/mditor/static/mditor/font
creating django-mditor-0.0.11/mditor/static/mditor/js
creating django-mditor-0.0.11/mditor/templates
creating django-mditor-0.0.11/mditor/templates/mditor
copying files to django-mditor-0.0.11...
copying LICENSE -> django-mditor-0.0.11
copying MANIFEST.in -> django-mditor-0.0.11
copying README.md -> django-mditor-0.0.11
copying pyproject.toml -> django-mditor-0.0.11
copying django_mditor.egg-info/PKG-INFO -> django-mditor-0.0.11/django_mditor.egg-info
copying django_mditor.egg-info/SOURCES.txt -> django-mditor-0.0.11/django_mditor.egg-info
copying django_mditor.egg-info/dependency_links.txt -> django-mditor-0.0.11/django_mditor.egg-info
copying django_mditor.egg-info/top_level.txt -> django-mditor-0.0.11/django_mditor.egg-info
copying mditor/__init__.py -> django-mditor-0.0.11/mditor
copying mditor/configs.py -> django-mditor-0.0.11/mditor
copying mditor/fields.py -> django-mditor-0.0.11/mditor
copying mditor/urls.py -> django-mditor-0.0.11/mditor
copying mditor/views.py -> django-mditor-0.0.11/mditor
copying mditor/widgets.py -> django-mditor-0.0.11/mditor
copying mditor/static/mditor/css/highlight.css -> django-mditor-0.0.11/mditor/static/mditor/css
copying mditor/static/mditor/css/highlight.min.css -> django-mditor-0.0.11/mditor/static/mditor/css
copying mditor/static/mditor/css/mditor.css -> django-mditor-0.0.11/mditor/static/mditor/css
copying mditor/static/mditor/css/mditor.min.css -> django-mditor-0.0.11/mditor/static/mditor/css
copying mditor/static/mditor/font/674f50d287a8c48dc19ba404d20fe713.eot -> django-mditor-0.0.11/mditor/static/mditor/font
copying mditor/static/mditor/font/912ec66d7572ff821749319396470bde.svg -> django-mditor-0.0.11/mditor/static/mditor/font
copying mditor/static/mditor/font/a48ac41620cd818c5020d0f4302489ff.ttf -> django-mditor-0.0.11/mditor/static/mditor/font
copying mditor/static/mditor/font/af7ae505a9eed503f8b8e6982036873e.woff2 -> django-mditor-0.0.11/mditor/static/mditor/font
copying mditor/static/mditor/font/b06871f281fee6b241d60582ae9369b9.ttf -> django-mditor-0.0.11/mditor/static/mditor/font
copying mditor/static/mditor/font/fee66e712a8a08eef5805a46892932ad.woff -> django-mditor-0.0.11/mditor/static/mditor/font
copying mditor/static/mditor/js/mditor.js -> django-mditor-0.0.11/mditor/static/mditor/js
copying mditor/static/mditor/js/mditor.min.js -> django-mditor-0.0.11/mditor/static/mditor/js
copying mditor/templates/mditor/widget.html -> django-mditor-0.0.11/mditor/templates/mditor
Writing django-mditor-0.0.11/setup.cfg
Creating tar archive
removing 'django-mditor-0.0.11' (and everything under it)
* Building wheel from sdist
* Creating venv isolated environment...
* Installing packages in isolated environment... (setuptools>=61.0)
* Getting dependencies for wheel...
running egg_info
writing django_mditor.egg-info/PKG-INFO
writing dependency_links to django_mditor.egg-info/dependency_links.txt
writing top-level names to django_mditor.egg-info/top_level.txt
reading manifest file 'django_mditor.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'django_mditor.egg-info/SOURCES.txt'
* Installing packages in isolated environment... (wheel)
* Building wheel...
running bdist_wheel
running build
running build_py
creating build
creating build/lib
creating build/lib/mditor
copying mditor/configs.py -> build/lib/mditor
copying mditor/fields.py -> build/lib/mditor
copying mditor/__init__.py -> build/lib/mditor
copying mditor/widgets.py -> build/lib/mditor
copying mditor/urls.py -> build/lib/mditor
copying mditor/views.py -> build/lib/mditor
running egg_info
writing django_mditor.egg-info/PKG-INFO
writing dependency_links to django_mditor.egg-info/dependency_links.txt
writing top-level names to django_mditor.egg-info/top_level.txt
reading manifest file 'django_mditor.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'django_mditor.egg-info/SOURCES.txt'
creating build/lib/mditor/static
creating build/lib/mditor/static/mditor
creating build/lib/mditor/static/mditor/css
copying mditor/static/mditor/css/highlight.css -> build/lib/mditor/static/mditor/css
copying mditor/static/mditor/css/highlight.min.css -> build/lib/mditor/static/mditor/css
copying mditor/static/mditor/css/mditor.css -> build/lib/mditor/static/mditor/css
copying mditor/static/mditor/css/mditor.min.css -> build/lib/mditor/static/mditor/css
creating build/lib/mditor/static/mditor/js
copying mditor/static/mditor/js/mditor.js -> build/lib/mditor/static/mditor/js
copying mditor/static/mditor/js/mditor.min.js -> build/lib/mditor/static/mditor/js
creating build/lib/mditor/static/mditor/font
copying mditor/static/mditor/font/674f50d287a8c48dc19ba404d20fe713.eot -> build/lib/mditor/static/mditor/font
copying mditor/static/mditor/font/912ec66d7572ff821749319396470bde.svg -> build/lib/mditor/static/mditor/font
copying mditor/static/mditor/font/a48ac41620cd818c5020d0f4302489ff.ttf -> build/lib/mditor/static/mditor/font
copying mditor/static/mditor/font/af7ae505a9eed503f8b8e6982036873e.woff2 -> build/lib/mditor/static/mditor/font
copying mditor/static/mditor/font/b06871f281fee6b241d60582ae9369b9.ttf -> build/lib/mditor/static/mditor/font
copying mditor/static/mditor/font/fee66e712a8a08eef5805a46892932ad.woff -> build/lib/mditor/static/mditor/font
creating build/lib/mditor/templates
creating build/lib/mditor/templates/mditor
copying mditor/templates/mditor/widget.html -> build/lib/mditor/templates/mditor
installing to build/bdist.macosx-12-x86_64/wheel
running install
running install_lib
creating build/bdist.macosx-12-x86_64
creating build/bdist.macosx-12-x86_64/wheel
creating build/bdist.macosx-12-x86_64/wheel/mditor
copying build/lib/mditor/configs.py -> build/bdist.macosx-12-x86_64/wheel/mditor
copying build/lib/mditor/fields.py -> build/bdist.macosx-12-x86_64/wheel/mditor
copying build/lib/mditor/__init__.py -> build/bdist.macosx-12-x86_64/wheel/mditor
copying build/lib/mditor/widgets.py -> build/bdist.macosx-12-x86_64/wheel/mditor
creating build/bdist.macosx-12-x86_64/wheel/mditor/static
creating build/bdist.macosx-12-x86_64/wheel/mditor/static/mditor
creating build/bdist.macosx-12-x86_64/wheel/mditor/static/mditor/css
copying build/lib/mditor/static/mditor/css/mditor.min.css -> build/bdist.macosx-12-x86_64/wheel/mditor/static/mditor/css
copying build/lib/mditor/static/mditor/css/highlight.css -> build/bdist.macosx-12-x86_64/wheel/mditor/static/mditor/css
copying build/lib/mditor/static/mditor/css/highlight.min.css -> build/bdist.macosx-12-x86_64/wheel/mditor/static/mditor/css
copying build/lib/mditor/static/mditor/css/mditor.css -> build/bdist.macosx-12-x86_64/wheel/mditor/static/mditor/css
creating build/bdist.macosx-12-x86_64/wheel/mditor/static/mditor/js
copying build/lib/mditor/static/mditor/js/mditor.min.js -> build/bdist.macosx-12-x86_64/wheel/mditor/static/mditor/js
copying build/lib/mditor/static/mditor/js/mditor.js -> build/bdist.macosx-12-x86_64/wheel/mditor/static/mditor/js
creating build/bdist.macosx-12-x86_64/wheel/mditor/static/mditor/font
copying build/lib/mditor/static/mditor/font/a48ac41620cd818c5020d0f4302489ff.ttf -> build/bdist.macosx-12-x86_64/wheel/mditor/static/mditor/font
copying build/lib/mditor/static/mditor/font/af7ae505a9eed503f8b8e6982036873e.woff2 -> build/bdist.macosx-12-x86_64/wheel/mditor/static/mditor/font
copying build/lib/mditor/static/mditor/font/674f50d287a8c48dc19ba404d20fe713.eot -> build/bdist.macosx-12-x86_64/wheel/mditor/static/mditor/font
copying build/lib/mditor/static/mditor/font/b06871f281fee6b241d60582ae9369b9.ttf -> build/bdist.macosx-12-x86_64/wheel/mditor/static/mditor/font
copying build/lib/mditor/static/mditor/font/912ec66d7572ff821749319396470bde.svg -> build/bdist.macosx-12-x86_64/wheel/mditor/static/mditor/font
copying build/lib/mditor/static/mditor/font/fee66e712a8a08eef5805a46892932ad.woff -> build/bdist.macosx-12-x86_64/wheel/mditor/static/mditor/font
creating build/bdist.macosx-12-x86_64/wheel/mditor/templates
creating build/bdist.macosx-12-x86_64/wheel/mditor/templates/mditor
copying build/lib/mditor/templates/mditor/widget.html -> build/bdist.macosx-12-x86_64/wheel/mditor/templates/mditor
copying build/lib/mditor/urls.py -> build/bdist.macosx-12-x86_64/wheel/mditor
copying build/lib/mditor/views.py -> build/bdist.macosx-12-x86_64/wheel/mditor
running install_egg_info
Copying django_mditor.egg-info to build/bdist.macosx-12-x86_64/wheel/django_mditor-0.0.11-py3.7.egg-info
running install_scripts
adding license file "LICENSE" (matched pattern "LICEN[CS]E*")
creating build/bdist.macosx-12-x86_64/wheel/django_mditor-0.0.11.dist-info/WHEEL
creating '/Volumes/Data/Dev/python/django-mditor/dist/tmp828s103b/django_mditor-0.0.11-py3-none-any.whl' and adding 'build/bdist.macosx-12-x86_64/wheel' to it
adding 'mditor/__init__.py'
adding 'mditor/configs.py'
adding 'mditor/fields.py'
adding 'mditor/urls.py'
adding 'mditor/views.py'
adding 'mditor/widgets.py'
adding 'mditor/static/mditor/css/highlight.css'
adding 'mditor/static/mditor/css/highlight.min.css'
adding 'mditor/static/mditor/css/mditor.css'
adding 'mditor/static/mditor/css/mditor.min.css'
adding 'mditor/static/mditor/font/674f50d287a8c48dc19ba404d20fe713.eot'
adding 'mditor/static/mditor/font/912ec66d7572ff821749319396470bde.svg'
adding 'mditor/static/mditor/font/a48ac41620cd818c5020d0f4302489ff.ttf'
adding 'mditor/static/mditor/font/af7ae505a9eed503f8b8e6982036873e.woff2'
adding 'mditor/static/mditor/font/b06871f281fee6b241d60582ae9369b9.ttf'
adding 'mditor/static/mditor/font/fee66e712a8a08eef5805a46892932ad.woff'
adding 'mditor/static/mditor/js/mditor.js'
adding 'mditor/static/mditor/js/mditor.min.js'
adding 'mditor/templates/mditor/widget.html'
adding 'django_mditor-0.0.11.dist-info/LICENSE'
adding 'django_mditor-0.0.11.dist-info/METADATA'
adding 'django_mditor-0.0.11.dist-info/WHEEL'
adding 'django_mditor-0.0.11.dist-info/top_level.txt'
adding 'django_mditor-0.0.11.dist-info/RECORD'
removing build/bdist.macosx-12-x86_64/wheel
Successfully built django-mditor-0.0.11.tar.gz and django_mditor-0.0.11-py3-none-any.whl

至此 已经在 dist目录下生成了 django-mditor-0.0.11.tar.gz and django_mditor-0.0.11-py3-none-any.whl,以及 django_mditor.egg-info

发布

$ python3 -m twine upload --repository pypi dist/*Uploading distributions to https://upload.pypi.org/legacy/
Uploading django_mditor-0.0.11-py3-none-any.whl
100% ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 762.8/762.8 kB • 00:02 • 522.9 kB/s
Uploading django-mditor-0.0.11.tar.gz
100% ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 759.8/759.8 kB • 00:00 • 18.5 MB/sView at:
https://pypi.org/project/django-mditor/0.0.11/

安装

至此,大约1分钟后就可以通过 pip install django-mditor 来安装了

$ pip show django-mditor
Name: django-mditor
Version: 0.0.11
Summary: 描述
Home-page:
Author:
Author-email: 敬晓兵 <ju4t@qq.com>
License: MIT License
Location: /Users/ju4t/.virtualenvs/django-mditor/lib/python3.7/site-packages
Requires:
Required-by:

但是国内镜像更新没有那么快,所以使用镜像加速的暂时不行。

也可以在本地配置好镜像加速后,通过 pip install django-mditor==0.0.11 指定版本号的方法来触发更新,更新时间不确定。

当 https://mirrors.aliyun.com/pypi/simple/django-mditor/ 有安装包后 就可以通过 加速镜像 安装了

注意内容

构建及发布时确保网络正常,推荐使用国内镜像
macOS 阿里云配置如下 ~/.pip/pip.conf

[global]
index-url=https://mirrors.aliyun.com/pypi/simple/[install]
trusted-host=mirrors.aliyun.com

转载自:https://labdoc.cc/article/8/

python 打包发布(含静态文件)相关推荐

  1. Python: 打包发布到PyPi及踩坑经历

    经常会碰到python包要打包成sdk放到PyPi上开源的情况. 说明: 在下面准备前,还需要在pypi网站上注册账户.否则无法上传到pypi网站上. 另外,我还准备了github的账户,当然什么公钥 ...

  2. Python打包成exe,文件太大问题解决办法

    Python打包成exe,文件太大问题解决办法 原因 解决办法 具体步骤 情况一:初次打包 情况二:再次打包 原因 由于使用pyinstaller打包.py文件时,会把很多已安装的无关库同时打包进去, ...

  3. AutoJs4.1.0实战教程---js文件打包发布成APK文件

    AutoJs4.1.0实战教程---js文件打包发布 首先需要在手机上安装AutojsApp,下载地址:https://wwa.lanzoui.com/imX3Vpchkdc 需要将Js文件打包发布成 ...

  4. python 打包发布网站_Python代码的打包与发布

    这篇文章主要介绍了Python代码的打包与发布的方法,需要的朋友可以参考下 在python程序中,一个.py文件被当作一个模块,在各个模块中定义了不同的函数.当我们要使用某一个模块中的某一个函数时,首 ...

  5. python打包和添加数据文件_python库打包分发setup.py编写指南

    python库打包分发setup.py编写指南 python之所以强大,在于有许许多多的人贡献自己的力量,他们将自己开发的项目打包上传至pypi,这使得python社区有取之不尽用之不竭的第三方库.工 ...

  6. python批量替换网站静态文件内的域名

    最近在处理网站内的图片域名替换,由于大小专区网站众多(上百个),各网站均用静态文件发布器创建后生成html,css,js文件,要替换文件特别多,域名均写在页面源码里或js,css文件内,纯手工更改是不 ...

  7. python打包发布pypi及更新流程

    参考文档 Python 快速打包发布软件PyPi上 包含setup.py的非Python文件 五步法更新pypi包体 发布 1. 安装打包依赖工具 pip install setuptools 2. ...

  8. Python打包发布

    python打包分发 ================== 打包工具:setuptools,wheel ------------------ ###操作顺序: ####1. 项目配置准备,主要是在项目 ...

  9. python打包和添加数据文件_python使用grpc,并打包成python模块

    xmlrpc也是可行的方案,也相对更加简单 一.环境 python3.6 二.安装模块 pip3 install grpcio pip3 install protobuf pip3 install g ...

最新文章

  1. 2022-2028年中国钢筘行业市场研究及前瞻分析报告
  2. opencv 保存读取mat
  3. SQLServer-sysobjects-type
  4. unity 草 可以一棵棵种吗?_种黄瓜这几种做法是错误的,却还有好多人在犯
  5. 莫斯科国立大学更新VQMT的测量指标
  6. 第四章: 4.1 logging模块 | 正则表达式
  7. golang 排序_堆 堆排序 优先队列 图文详解(Golang实现)
  8. Sunny Day ijk英语
  9. 超级详细备注的代码:Python帮助您高效通过英语六级考试
  10. 西南财大计算机学院官网,西南财经大学
  11. POJ 1015 Jury Compromise
  12. 6. Zend Studio
  13. Cardhop for Mac(通讯录管理软件)
  14. 什么是mysql 的冗余备份_什么是数据库中的“数据冗余”?
  15. matlab拓扑优化算法,拓扑优化算法及其实现.ppt
  16. Mac OS high Sierra 10.13.6 安装cuda
  17. go语言实现where in查询
  18. maven 系列 06 - 向本地仓库导入jar包 (例如 - pinyin4j-2.5.0)
  19. Kettle计算器常用函数
  20. 盒马鲜生app爬虫与 淘系的×- sign 、 x-mini-wua 、 x-sgext…

热门文章

  1. xshell连接不上linux(centos)
  2. 用python写一个彩票过滤器_Python实现的彩票机选器实例
  3. 【Flutter 学习笔记八】 Flutter plugin not installed; this adds Flutter specific...
  4. 怎样拒绝公司的offer, 才显得不卑不亢
  5. 收到面试邀请时需要问清的事情有哪些?
  6. UNI-APP开发工具与环境
  7. 从传统采购向SRM数字采购转型,大宗商品企业实现采购成本有效控制
  8. 上传文件 java_JAVA文件的上传与访问
  9. 东北大学软件项目管理与过程改进复习提纲(2020)——中英文对照表(按首字母排序)
  10. Tensorflow YOLOv3实现与详解