记录初次使用 Python 的 Poetry 库遇到的一个坑(安装第三方包时卡住)

21 篇文章 3 订阅

项目场景

使用 poetry new demo 新建一个项目后,想安装一个依赖包 requests

问题描述

但一直卡在如下页面,没有任何反应:

$ poetry add requests
Creating virtualenv demo-znJHNgUV-py3.9 in C:\Users\87897\AppData\Local\pypoetry\Cache\virtualenvs
Using version ^2.27.1 for requests

Updating dependencies
Resolving dependencies...

原因分析

之前使用过 pipenv 包管理工具,它需要配置 pypi 的源,不然安装会很慢。所以,我这里推测 poetry 安装卡住也是同样的原因。果不其然,当我开了一个网络代理之后,就能正常安装了。当然,也可以修改配置文件,将 pypi 的源索引地址修改为国内的镜像地址,比如清华、阿里、中科大和豆瓣等。具体配置请看下方解决方案。

清华大学: https://pypi.tuna.tsinghua.edu.cn/simple
阿里云: http://mirrors.aliyun.com/pypi/simple/
中国科技大学: https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣: http://pypi.douban.com/simple/

解决方案

参考官方文档

在这里插入图片描述

pyproject.toml 配置文件的末尾添加如下信息即可:(如修改为清华镜像)

[[tool.poetry.source]]
name = "tsinghua-pypi"
url = "https://pypi.tuna.tsinghua.edu.cn/simple"
default = true
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python 中,你可以使用工具来打包第三方,以便于在其他项目中使用。下面是两种常用的打包工具: 1. setuptools:这是一个常用的打包工具,它可以帮助你创建和分发 Python 包。你可以使用 setuptools 来定义你的项目的依赖关系、入口点等信息,并生成一个安装的分发包。你可以在项目的根目录下创建一个名为 `setup.py` 的文件,并使用 `setuptools.setup` 函数来配置你的项目。 以下是一个简单的 `setup.py` 文件示例: ```python from setuptools import setup setup( name='your_package_name', version='1.0', description='description of your package', author='your name', author_email='your@email.com', packages=['your_package'], install_requires=[ 'third-party-library==1.0', ], ) ``` 在命令行中执行 `python setup.py bdist_wheel` 命令可以生成一个 Wheel 文件(扩展名为 `.whl`)。这个文件可以通过 pip 来安装到其他项目中。 2. poetry:这是一个现代化的 Python 包管理工具,它不仅可以帮助你打包第三方,还可以管理项目的依赖关系、虚拟环境等。你可以使用 poetry 来创建一个新项目,并在 pyproject.toml 文件中定义你的依赖关系。使用 `poetry build` 命令可以生成一个安装的分发包。 以下是一个示例 pyproject.toml 文件: ```toml [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api" [tool.poetry] name = "your_package_name" version = "1.0.0" description = "description of your package" authors = ["your name <your@email.com>"] [tool.poetry.dependencies] python = "^3.8" third-party-library = "^1.0" [tool.poetry.dev-dependencies] pytest = "^6.2" [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api" ``` 在命令行中执行 `poetry build` 命令可以生成一个 Wheel 文件或者一个源码分发包(扩展名为 `.tar.gz`)。这些文件可以通过 pip 来安装到其他项目中。 这些工具提供了方便的方式来打包和分发第三方,你可以根据自己的需求选择使用其中之一。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xavier Jiezou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值