如何确定 pip3 在何处安装非用户安装的二进制文件/脚本? [复制]

2024-02-11

我可以确定 pip 在哪里安装软件包二进制文件/脚本pip3 install --user mypackage using:

$(python3 -m site --user-base)/bin

是否有一种机制可以确定在哪里non-user安装二进制文件/脚本(例如pip3 install mypackage)安装了吗?

请注意,我只对二进制文件/脚本的安装位置感兴趣,而不是库代码的安装位置感兴趣。

Update:

目标是确保 PATH 环境变量包含安装二进制文件/脚本的文件夹,因为这在过去给我带来了一些问题。

更新2:

$ python3 -c "import sysconfig; print(sysconfig.get_path('scripts'))"
/usr/local/Cellar/[email protected] /cdn-cgi/l/email-protection/3.8.5/Frameworks/Python.framework/Versions/3.8/bin

$ python3 -c "from pip._internal.locations import bin_py; print(bin_py)"
/usr/local/Cellar/[email protected] /cdn-cgi/l/email-protection/3.8.5/Frameworks/Python.framework/Versions/3.8/bin

但是,pip3 安装到/usr/local/bin

注意:

$ which pip3
/usr/local/bin/pip3
$ which python3
/usr/local/bin/python3

这已经在这里得到了回答(但我不能“关闭重复”,因为有赏金):

https://stackoverflow.com/a/62167797 https://stackoverflow.com/a/62167797


我相信规范的方法(前进)是使用sysconfig.get_path(...)。根据具体需要,可以组合scheme and name。所以也许对于您的确切用例:

import sysconfig

scripts_path = sysconfig.get_path('scripts')
print(scripts_path)

As a 一行从外壳:

python -c "import sysconfig; print(sysconfig.get_path('scripts'))"

其他可能有助于识别正确目录的事情:

python -m site
python -m sysconfig

参考:

  • https://docs.python.org/3.8/library/sysconfig.html#installation-paths https://docs.python.org/3.8/library/sysconfig.html#installation-paths
  • https://docs.python.org/3.8/library/sysconfig.html#using-sysconfig-as-a-script https://docs.python.org/3.8/library/sysconfig.html#using-sysconfig-as-a-script
  • https://docs.python.org/3.8/library/site.html#command-line-interface https://docs.python.org/3.8/library/site.html#command-line-interface
  • https://discuss.python.org/t/proper-way-to-define-install-location-of-console-scripts/7188 https://discuss.python.org/t/proper-way-to-determine-install-location-of-console-scripts/7188
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何确定 pip3 在何处安装非用户安装的二进制文件/脚本? [复制] 的相关文章

  • Python 中 eval("input()") 和 eval(input()) 之间的区别

    我正在尝试以下功能 x eval input 输入为 123 x 的类型也是int 它工作正常 In 22 x eval input enter enter 123 In 24 print type x
  • 将具有多个时区的 pandas 列转换为单个时区

    Problem 我在 pandas DataFrame 中有一个列 其中包含带有时区的时间戳 此列中有两个不同的时区 我需要确保只有一个 这是该列末尾的输出 260003 2019 05 21 12 00 00 06 00 260004 2
  • 类unix系统中的python和python3命令有什么区别?

    我通读了每个命令的描述 但每个命令的描述都是完全相同的 所以我不明白这两个命令在类 Unix 系统中的工作方式有何不同 谁能解释其中的区别吗 Python3命令的引入是因为python命令指向了python2 从那时起 Python3 已成
  • 按下按钮即可持续移动

    我按照在线教程制作了一个贪吃蛇游戏 并需要一些帮助来进行一些更改 截至目前 holding向左或向右箭头键将使蛇移动 它能让蛇向左或向右移动吗只需轻按一下按钮所以用户不必按住箭头键 question True while not gameE
  • 在 Python 中使用 mca 包

    我正在尝试使用MCA 套餐 https github com esafak mca blob master docs usage rst在Python中进行多重对应分析 我对如何使用它有点困惑 和PCA我希望fit一些数据 即找到这些数据的
  • 为什么即使没有要打印的数据,打印命令也会换行

    只是打字print在 python 中只给出换行符 打字print3 x 中没有括号也会给出换行符 为什么 Because 文档 https docs python org 3 library functions html print sa
  • Keras ImageDataGenerator 相当于 csv 文件

    我在文件夹中排序了一堆数据 如下图所示 我需要构建一个 DataIterator 以便将数据放入神经网络模型中 当数据是图像时 我找到了很多例子来解决这个问题 使用 Keras 类图像数据生成器及其方法流自目录 但当数据是 csv 结构时则
  • 使用 asyncio 时应该如何创建属性?

    在创建使用 asyncio 的类时 我发现自己处于属性 getter 需要进行 io 操作的情况 因此该函数应该是一个协程 然而 等待房产的感觉却很不寻常 这是我的意思的一个最小的例子 该代码有效并且可以运行 import asyncio
  • 使用 InlineKeyboardButton python telegram bot 发送命令

    在Python电报机器人中 是否有可能InlineKeyboardButton发送类似命令 cancel当它被按下时 例如 当用户按下取消按钮时 他们将自动发送 cancel 命令 然后由机器人处理 从这里的例子来看 https githu
  • 如何在 Python 中根据日期列绘制分类变量

    我有这样的数据 Date Fruit 2017 01 01 Orange 2017 01 01 Apple 2017 01 08 Orange 2017 01 09 Orange 2017 01 09 Apple 我想在一个图中按日期绘制橙
  • Django Web 应用程序中的 SMTP 问题

    我被要求向使用 Django Python 框架实现的现有程序添加一个功能 此功能将允许用户单击一个按钮 该按钮将显示一个小对话框 表单以输入值 我确实编写了一些代码 显示电子邮件已发送的消息 但实际上 它没有发送 My code from
  • 如何在 python 中将最佳概率分布模型拟合到我的数据?

    我有大约 20 000 行这样的数据 Id value 1 30 2 3 3 22 n 27 我对我的数据进行了统计 平均值33 85 中位数30 99 最小值2 8 最大值206 95 置信区间0 21 所以大多数值在33左右 并且有一些
  • Python 中的错误? threading.Thread.start() 并不总是返回

    我有一个很小的 Python 脚本 在我看来 threading Thread start 表现出意外 因为它不会立即返回 在线程内我想调用一个方法boost python基于对象 不会立即返回 为此 我将对象 方法包装如下 import
  • Python 3 sqlite 参数化 SQL 查询

    我一直在尝试使用 Python 3 和 sqlite 模块进行参数化 SQL 查询 并且仅使用一个变量就成功了 但是 当使用两个变量时 我得到一个IndexError tuple index out of range错误 关于导致此错误的原
  • python 3 argparse 调用函数

    我想在 python3 中创建一个类似命令行 类似 shell 的界面 Argparse 似乎负责解析和显示帮助 错误消息 根据argparse 的 python3 文档 https docs python org 3 5 library
  • Pandas groupby apply 执行缓慢

    我正在开发一个涉及大量数据的程序 我正在使用 python pandas 模块来查找数据中的错误 这通常工作得非常快 然而 我当前编写的这段代码似乎比应有的速度慢得多 我正在寻找一种方法来加快速度 为了让你们正确测试它 我上传了一段相当大的
  • Streamlabs API 405 响应代码

    我正在尝试使用Streamlabs API https dev streamlabs com Streamlabs API 使用 Oauth2 来创建应用程序 因此 首先我将使用我的应用程序的用户发送到一个授权链接 其中包含我的应用程序的客
  • 如何使用 matplotlib 在误差条图的尖端显示水平线?

    我可以使用下面的代码生成误差条图 代码生成的图表显示了代表错误的垂直线y 我希望在这些错误的尖端有水平线 误差线 但我不知道该怎么做 import numpy as np import matplotlib pyplot as plt x
  • 更改QLineEdit的ClearButton图标

    我想在Windows 10 1909 64位 上的Python 3 8和PyQt5 5 15 0 上更改我的QLineEdit的ClearButton图标 稍后我想在Linux上运行代码 我尝试应用此处找到的代码 如何在 QLineEdit
  • ModuleNotFoundError:没有名为“bs4”的模块

    当我尝试像这样导入 BeautifulSoup 时 from bs4 import BeautifulSoup 当我运行我的代码时 我收到此错误消息 ModuleNotFoundError No module named bs4 如果有人知

随机推荐