当前位置: 首页 > 知识库问答 >
问题:

什么是python的站点包目录?

子车征
2023-03-14

各种Python相关文章中都提到了目录< code>site-packages。什么事?怎么用?

共有3个答案

朱通
2023-03-14

站点包只是Python安装其模块的位置。

不需要“找到它”,python知道在哪里可以找到它,这个位置始终是PYTHONPATH(sys.path)的一部分。

以编程方式,您可以通过以下方式找到它:

import sys
site_packages = next(p for p in sys.path if 'site-packages' in p)
print site_packages

/Users/foo/。' envs/en v1/lib/python 2.7/site-packages '

百里阳平
2023-03-14

当您将< code> - user选项与pip一起使用时,软件包会安装在用户的文件夹中,而不是全局文件夹中,并且您不需要以管理员权限运行pip命令。

可以使用以下命令找到用户包裹文件夹的位置:

python -m site --user-site

这将打印类似以下内容:

C:\Users\%USERNAME%\AppData\Roaming\Python\Python35\site-packages

当您不将--user选项与pip一起使用时,该包将安装在由以下文件提供的全局文件夹中:

python -c "import site; print(site.getsitepackages())"

这将打印类似以下内容:

['C:\\Program Files\\Anaconda3', 'C:\\Program Files\\Anaconda3\\lib\\site-packages'

注意:以上打印值适用于安装了Anaconda 4.x的Windows 10上的默认值。

楚建柏
2023-03-14

< code>site-packages是手动构建的Python包的目标目录。当您从源代码构建和安装Python包时(使用distutils,可能是通过执行< code > Python setup . py install ),您将默认在< code>site-packages中找到安装的模块。

有标准位置:

  • Unix(纯)1前缀/lib/pythonX. Y/站点包
  • Unix(非纯):exec-prefix/lib/pythonX. Y/站点包
  • Windows:前缀\Lib\站点包

< sup>1 Pure表示模块只使用Python代码。非纯的也可以包含C/C代码。

默认情况下,站点包是 Python 搜索路径的一部分,因此安装在那里的模块之后可以轻松导入。

  • 安装 Python 模块(适用于 Python 2)
  • 安装 Python 模块(适用于 Python 3)
 类似资料:
  • 问题内容: 我知道类注释的目的,这要归功于Java中注释的使用方式和位置?。如本博客文章和Java语言规范的第7.4.1节所述,包注释的目的是什么? 您为什么要将元数据与程序包关联?你能做些什么? 问题答案: bnd工具(和maven-bundle-plugin)利用包注释。将@Version和@Export批注放在package-info.java中,可以生成OSGi元数据。 javadoc使用

  • 问题内容: 在各种与Python相关的文章中都提到了该目录。它是什么?如何使用它? 问题答案: 是手动构建的Python软件包的 目标目录 。从源代码构建和安装Python软件包时(使用 distutils ,可能通过执行),默认情况下会找到已安装的模块。 有标准位置: Unix(纯)1: Unix(非纯): 视窗: 1 Pure 表示该模块仅使用Python代码。 非纯 也可以包含C / C +

  • 本文向大家介绍什么是闭包?优缺点分别是什么?相关面试题,主要包含被问及什么是闭包?优缺点分别是什么?时的应答技巧和注意事项,需要的朋友参考一下 上面就是闭包,有独立的作用域,且作用域的变量不会在程序中释放

  • 问题内容: 我可以想到的对于Python类的每次使用,我都可以想到另一个同样(可能更多)可接受的解决方案,以实现相同的效果。例如: 在任何情况下,这都是最合适的解决方案吗?如果是这样,在什么情况下? 问题答案: 该函数是惰性的;它仅使用一项所需的内存。另一方面,和惯用法在内存中创建对象的n个副本。对于五个项目,乘法习惯用法可能更好,但是如果必须重复一百万次,您可能会注意到资源问题。 不过,很难想象

  • 问题内容: 每个Go文件均以开头。 据我了解-这可能是我缺少一些信息的地方- 仅有两个可能的值:该目录的名称位于*或中。如果为,则该目录中的所有其他文件也只能具有。如果还有其他问题,则说明该项目不一致/违反约定。 现在,如果它是目录的名称,那么它是多余的,因为相同的信息也包含在目录的名称中。 如果是,则它是无用的,因为据我所知,没有办法告诉“请构建 所有 软件包”。 *因为换句话说,一个目录就是一

  • 问题内容: 当我使用gcc编译非常简单的源文件时,不必指定标准包含文件(例如stdio或stdlib)的路径。 GCC如何知道如何找到这些文件? 它内部是否具有硬连线的路径,还是会从其他OS组件获取路径? 问题答案: 为了弄清楚/ 所使用的默认路径及其优先级,您需要检查以下命令的输出: 对于 C : 对于 C ++ : 这归功于 Qt Creator团队 。