关于 Debian12 无法使用 pip install 安装 cos- Python -sdk-v5 的问题

170 天前
 joeyv2

使用官方命令:pip install -U cos-python-sdk-v5

error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.

    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.

    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.

    See /usr/share/doc/python3.11/README.venv for more information.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.

使用:pipx install cos-python-sdk-v5

Note: Dependent package 'charset-normalizer' contains 1 apps
  - normalizer

No apps associated with package cos-python-sdk-v5. Try again with '--include-deps'
to include apps of dependent packages, which are listed above. If you are attempting
to install a library, pipx should not be used. Consider using pip or a similar tool
instead."
1701 次点击
所在节点    Python
9 条回复
Masoud2023
170 天前
没看懂你想干什么,感觉你可能不会做 python 依赖管理。

pipx 这写的挺明白了吧:If you are attempting to install a library, pipx should not be used 。

你正确的做法应该是 python -m virtualenv .venv 创建个虚拟环境,然后在环境里装你的依赖,然后用环境的 python 运行你的程序。
wccc
170 天前
pip install -U cos-python-sdk-v5 --break-system-packages
joeyv2
170 天前
@Masoud2023 cos-python-sdk-v5 是第三方库使用 pip install 安装提示如上,返回内容中有写到第三方库可以使用 pipx install xyz 自动创建虚拟环境并安装。还是说需要先执行 python3 -m 再执行怕 pipx install
Masoud2023
170 天前
@joeyv2 #3 你能不能完整的说一下你想干什么,想做什么需求,只言片语这个我不知道接下来怎么指导,pip 行为最近新版改了,你做 python 程序不建虚拟环境肯定装不进去你项目需要用的依赖的,以前很多教程都没有提示这一点的。
adoal
170 天前
发行版打包的 Python 用了发行版的包管理规则,系统里有很多重要组件依赖它,你在上面直接 pip 安装可能会破坏系统。
听#1 的,先创建一个 venv ,再在 venv 里用 pip 安装。
joeyv2
170 天前
@Masoud2023
第一步:python3 -m venv path/to/venv
第二步:path/to/venv/bin/pip install -U cos-python-sdk-v5
这样来创建虚拟环境并安装第三方包,那么 pipx 命令的作用是什么?
Masoud2023
170 天前
@joeyv2 #6

https://pypa.github.io/pipx/

pipx is a tool to help you install and run end-user applications written in Python

你就当这东西是装现成的东西的,比如你装 poetry ,poetry 如果非拿 pip 装那就得拿 pipx 装( poetry 在一些 Linux 有现成的包可以装,我知道 arch 有,别的没试过)
Masoud2023
170 天前
说白了就是

pip -> 装依赖,项目里 import 的

pipx -> 在系统里面装命令,不是项目 import 的
UncleCAT4
113 天前
pipx install 即可

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/993358

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX