poetry
poetry 是一个 Python 打包和依赖管理工具,旨在简化 Python 包的创建、发布和依赖管理。与传统的 setuptools、pip 和 requirements.txt 的组合相比,poetry 提供了一个统一和简化的工具和工作流程。
以下是关于 poetry 的详细先容:
主要特点:
声明式的依赖管理: 通过 pyproject.toml 文件,你可以明确地指定项目标依赖和版本。
主动生成 lock 文件: 类似于 JavaScript 的 yarn 或 Ruby 的 Bundler,poetry 会生成一个 poetry.lock 文件,确保在所有情况中的依赖都是确定和同等的。
假造情况管理: 默认情况下,poetry 为每个项目主动创建和管理一个假造情况。
包构建和发布: 使用单个工具,你可以构建和发布你的包到 PyPI。
完备的依赖解析: poetry 有一个强大的依赖解析算法,确保项目标所有依赖都是相容的,且没有版本冲突。
管理 Python 版本: 你可以在 pyproject.toml 文件中指定 Python 的版本,确保所有开辟者和情况使用同样版本的 Python。
使用方法:
curl -sSL https://install.python-poetry.org | python3 -
2.创建新项目:
poetry new project-name
3.添加新的依赖:
poetry add package-name
4.安装依赖:
poetry install
5.查看假造情况路径:
poetry env info --path
6.界说和使用脚本:
在 pyproject.toml 文件中,您可以界说脚本,类似于 npm 的脚本。例如:
[tool.poetry.scripts]
start = “python main.py”
然后,您可以使用以下下令来运行该脚本:
poetry run start
这将实行 python main.py,而且这个下令将在 Poetry 的假造情况中实行。
poetry踩坑
1、尽量使用官网推荐的curl的方式来安装poetry
2、poetry情况可以创建在conda情况上面;
3、poetry情况如果堕落,可以通过删除情况,再新建情况来办理,方式是先通过poetry env info 找到当前env的Path,然后实行rm -rf删撤除,然后再实行poetry install。
conda
在 Conda 中,可以使用 情况(Environment) 来管理不同的 Python 版本和依赖包。你可以为不同的项目或用途创建独立的情况,避免包冲突和影响全局情况。
1. 创建指定情况
你可以使用 -n 选项指定情况名称,并选择 Python 版本:
- conda create -n my_env_name python=3.11
复制代码 示例:
- conda create -n openai_env python=3.11
复制代码 这会创建一个名为 openai_env 的情况,并安装 Python 3.11。
2. 激活情况
创建后,你需要激活它:
- conda activate my_env_name
复制代码 示例:
- conda activate openai_env
复制代码 激活后,所有 conda install 或 pip install 都会安装在该情况内,而不会影响其他情况。
3. 在情况中安装包
在指定的 Conda 情况中安装 openai:
- conda install -n openai_env -c conda-forge openai
复制代码 如果 conda 没有 openai,可以用 pip:
- conda activate openai_env
- pip install openai
复制代码 4. 查看已有情况
要查看当前所有 Conda 情况:
示例输出:
- # conda environments:
- #
- base * /home/user/miniconda3
- openai_env /home/user/miniconda3/envs/openai_env
复制代码 * 号表示当前激活的情况。
5. 删除情况
如果不再需要,可以删除情况:
- conda remove -n openai_env --all
复制代码 6. 在 Jupyter Notebook 中使用 Conda 情况
如果你要在 Jupyter Notebook 中使用 Conda 情况,先激活情况:
- conda activate openai_env
- pip install ipykernelpython -m ipykernel install --user --name=openai_env
复制代码 然后在 Jupyter Notebook 选择 openai_env 作为 Kernel。
总结
任务下令创建情况conda create -n my_env_name python=3.11
激活情况conda activate my_env_name
在情况中安装包conda install -n my_env_name package_name查看所有情况conda env list
删除情况conda remove -n my_env_name --all在 Jupyter 中使用pip install ipykernel + python -m ipykernel install --user --name=my_env_name 这样,你就可以在 Conda 中指定不同的情况来管理 Python 代码了! |