Skip to main content

execute python code using string

Project description

execute python code using string, PyPI test. Instruct how to build a PyPI.

Python打包上传PyPI

注册 PyPI

PyPI注册帐号

准备含有 setup.py 的Python 项目

项目地址 目录结构: 目录结构

exeu 目录

exeu 目录为源码目录,一般一个项目下,需要有一个源码目录

core.py

具体实现文件

core.py

def ev(s: str):
    return eval(s)

实现 eval 的功能。

init 文件

源码目录下的__init__文件需要引入需要暴露的接口,以及 version 定义。 init.py 文件

__version__ = "0.0.1"

from .core import *

setup.py 文件

打包成 PyPI 的配置文件

# -*- coding: utf-8 -*-

import io
import os
import re

from setuptools import find_packages
from setuptools import setup

# version
here = os.path.abspath(os.path.dirname(__file__))
with open(os.path.join(here, 'exeu', '__init__.py'), 'r') as f:
  init_py = f.read()
version = re.search('__version__ = "(.*)"', init_py).groups()[0]

# obtain long description from README
with io.open(os.path.join(here, 'README.md'), 'r', encoding='utf-8') as f:
  README = f.read()

# installation packages
packages = find_packages()

# setup
setup(
  name='exeu',
  version=version,
  description='execute python code using string',
  long_description=README,
  long_description_content_type="text/markdown",
  author='dulingkang',
  author_email='dulingkang@163.com',
  packages=packages,
  python_requires='>=3.7',
  install_requires=[],
  url='https://github.com/dulingkang/exeu',
  project_urls={
    "Bug Tracker": "https://github.com/dulingkang/exeu/issues",
    "Documentation": "https://github.com/dulingkang/exeu",
    "Source Code": "https://github.com/dulingkang/exeu",
  },
  keywords=('exeucate eval, '
            'pipy test, '
            'python instruction, '),
  classifiers=[
    'Natural Language :: English',
    'Operating System :: OS Independent',
    'Programming Language :: Python',
    'Programming Language :: Python :: 3',
    'Programming Language :: Python :: 3.7',
    'Programming Language :: Python :: 3.8',
    'Programming Language :: Python :: 3.9',
    'Programming Language :: Python :: 3.10',
    'Intended Audience :: Science/Research',
    'License :: OSI Approved :: Apache Software License',
    'Topic :: Scientific/Engineering :: Bio-Informatics',
    'Topic :: Scientific/Engineering :: Mathematics',
    'Topic :: Scientific/Engineering :: Artificial Intelligence',
    'Topic :: Software Development :: Libraries',
  ],
  license='Apache-2.0 license',
)

上述主要参数解析:

  • name:库名
  • version:版本号
  • author:作者
  • author_email:作者邮箱(如:发现 bug,可以联系邮箱处理)
  • description:简要描述
  • long_description:详细描述(一般会写在README.md中)
  • long_description_content_type:README.md中描述的语法(一般为markdown)
  • install_requires: 依赖的其它 Python 包
  • url:库/项目主页,一般我们把项目托管在GitHub,放该项目的GitHub地址即可
  • packages:使用setuptools.find_packages()即可,这个是方便以后我们给库拓展新功能的(详情请看官方文档)
  • classifiers:指定该库依赖的Python版本、license、操作系统之类的
  • license: 使用协议名称

安装 PyPI 工具包

install setuptoolswheeltwine

python3 -m pip install --user --upgrade setuptools wheel twine

打包

打包前,需要先 check setup.py 中有没有错误:

python3 setup.py check

确认无误后,执行打包:

python3 setup.py sdist bdist_wheel

完成后,会生成 dist 文件夹

上传

使用 twine 将打好的包上传到 PyPI

使用如下命令上传:

TWINE_PASSWORD=your_password TWINE_USERNAME=your_name twine upload dist/*

your_name, your_password, 输入第一步在 PyPI注册的用户名和密码。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

exeustr-0.0.1.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

exeustr-0.0.1-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file exeustr-0.0.1.tar.gz.

File metadata

  • Download URL: exeustr-0.0.1.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.6

File hashes

Hashes for exeustr-0.0.1.tar.gz
Algorithm Hash digest
SHA256 9e1bf12e1d324f883e878f5451327d4b08774b1a9f4214dacdc4272bac3b1703
MD5 e4461868f681d438caa51804a50ea647
BLAKE2b-256 49be6797db4bc54be79756cb2df151a8f8b47ec374963de6f48cf00972f2fb01

See more details on using hashes here.

File details

Details for the file exeustr-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: exeustr-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.6

File hashes

Hashes for exeustr-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fbb3a345228131cf8cc2b5083ac8594292b45810dbe0020b3cc37cebe1a7389c
MD5 6b7c2590d3f50be6517a309db5ca0bdb
BLAKE2b-256 105506c94f242b1f529f060a6d3733d9105ac6735f69e06bfbe8e3a53be3c2a7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page