python项目开发环境建立

1、python 安装

从python官网https://www.python.org/ 下载版本安装。

2、建立项目文件夹及设置python虚拟环境

2.1 建立虚拟python虚拟环境

项目文件夹,并用venv创建虚拟环境:

> mkdir myproject
> cd myproject
> py -3 -m venv venv

命令完成之后的目录结构如下:

2022/02/11  09:18    <DIR>          .
2022/02/11  09:18    <DIR>          ..
2022/02/11  09:18    <DIR>          venv

2.2 进入或退出python虚拟环境

进入虚拟环境:

D:\MyWork\myproject>venv\Scripts\activate

退出虚拟环境

(venv) D:\MyWork\myproject>venv\Scripts\deactivate.bat

2.3 安装项目所需依赖包

利用pip安装项目依赖包。 如果出现pip模块相关错误,执行以下命令解决:
在命令行模式中使用 Python 解释器运行带有 -m 选项的 ensurpip 命令。 此时,默认从标准库中复制一份 pip 以供使用。此时的 pip 版本可在后续中自行更新。 为确保最新的  pip 版本被同步安装,可在运行 ensurepip 命令的同时使用 --upgrade 选项。

(venv) D:\MyWork\myproject>python -m ensurepip --upgrade  (在windows下,如果出现OSError,则需要用管理员身份运行cmd。。如果还有问题就下载get-pip.py安装)

3、 规划项目文件夹结构

建议结构如下:

myprojects/
├── {app_name}/
│   ├── __init__.py
│   ├── templates/
│   └── static/
├── tests/
├── venv/
├── setup.py
└── MANIFEST.in

在文件夹{app_name}下,根据项目需要规划结构。。

如果使用git, .gitignore的建议内容包括:

venv/

*.pyc
__pycache__/

instance/

.pytest_cache/
.coverage
htmlcov/

dist/
build/
*.egg-info/

4、安装项目包

4.1 设置项目打包信息

在setup.py中设置项目基本信息

from setuptools import find_packages, setup
setup(
    name='{app_name}',
    version='1.0.0',
    packages=find_packages(),
    include_package_data=True,
    zip_safe=False,
    install_requires=[
        'flask',
    ],
)

在MANIFEST.in中设置需要打包的项目文件。

include flaskr/schema.sql
graft flaskr/static
graft flaskr/templates
global-exclude *.pyc

4.2 安装项目包

利用pip安装项目包,之后可以在任何地方均可引用项目包。

$ cd myproject.
$ pip install -e .

  pip install [options] [-e] <local project path> ...
    -e, --editable <path/url>   Install a project in editable mode (i.e. setuptools "develop mode") from a local project
                              path or a VCS url.

5、打包并分发

安装wheel模块,然后打包。之后生成安装包 dist/{app_name}-1.0.0-py3-none-any.whl.

$ pip install build
$  python -m build

在其他机器可用如下命令安装项目:

$ pip install {app_name}-1.0.0-py3-none-any.whl
posted @   无边无忌  阅读(182)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示