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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!