什么是 python 的 site-packages 目录?

新手上路,请多包涵

目录 site-packages 在各种Python相关文章中都有提到。它是什么?如何使用它?

原文由 Omer Dagan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 3.1k
2 个回答

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

有标准位置:

  • Unix(纯) 1 : prefix/lib/pythonX.Y/site-packages
  • Unix(非纯): exec-prefix/lib/pythonX.Y/site-packages
  • Windows: prefix\Lib\site-packages

1 Pure 表示该模块仅使用 Python 代码。 非纯 也可以包含 C/C++ 代码。

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


有用的阅读

原文由 Omer Dagan 发布,翻译遵循 CC BY-SA 4.0 许可协议

当您将 --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'

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

原文由 Shital Shah 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏