如何找到自己的python位置_安装 - 如何找到Python site-packages目录的位置?
安装 - 如何找到Python site-packages目录的位置?
如何找到site-packages目录的位置?
18个解决方案
618 votes
>>> import site; site.getsitepackages()
['/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages']
(或只是site.getsitepackages()[0]的第一项)
eudoxos answered 2018-12-27T03:42:25Z
298 votes
从“如何安装Django”文档(虽然这不仅仅是Django安装有用) - 从shell执行以下命令:
python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"
格式化为可读性(而不是用作单行),如下所示:
from distutils.sysconfig import get_python_lib
print(get_python_lib())
Daryl Spitzer answered 2018-12-27T03:42:53Z
202 votes
有两种类型的站点包目录,全局和每用户。
运行时,全局站点包(“dist-packages”)目录列在pip list --user中:
pip list --user
有关更简洁的列表,请从Python代码中的站点模块运行pip list --user:
pip list --user
注意:由于virtualenvs的getitepackages不可用,但上面的pip list --user将正确列出virtualenv的site-packages目录。
每个用户的站点包目录(PEP 370)是Python安装本地包的地方:
pip list --user
如果这指向不存在的目录,请检查Python的退出状态,并参阅pip list --user以获取解释。
提示:运行pip list --user或pip freeze --user会为您提供所有已安装的每个用户站点包的列表。
Peterino answered 2018-12-27T03:42:03Z
97 votes
对于Ubuntu,
python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
...是不正确的。
它会指向/usr/local/lib/pythonX.X/dist-packages
此文件夹仅包含操作系统自动安装的程序包以供程序运行。
在ubuntu上,包含通过setup_tools \ easy_install \ pip安装的软件包的site-packages文件夹将在/usr/local/lib/pythonX.X/dist-packages
如果用例与安装或读取源代码相关,则第二个文件夹可能更有用。
如果您不使用Ubuntu,您可能会安全地将第一个代码框复制粘贴到终端中。
David Hollander answered 2018-12-27T03:43:52Z
63 votes
这对我有用:
python -m site --user-site
Ramashri answered 2018-12-27T03:44:13Z
22 votes
假设你已经安装了'django'软件包。 导入它并输入dir(django)。 它将向您展示该模块的所有功能和属性。 输入python解释器 -
>>> import django
>>> dir(django)
['VERSION', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__', 'get_version']
>>> print django.__path__
['/Library/Python/2.6/site-packages/django']
如果你安装了mercurial,你可以做同样的事情。
这是雪豹。 但我认为它也应该起作用。
Sumod answered 2018-12-27T03:44:47Z
21 votes
正如其他人所说,site-packages具有相关设置:
import distutils.sysconfig
print distutils.sysconfig.get_python_lib()
...虽然默认的site-packages做了一些更粗糙的事情,在下面解释:
import sys, os
print os.sep.join([sys.prefix, 'lib', 'python' + sys.version[:3], 'site-packages'])
(它还添加了site-packages并为sys.exec_prefix添加了两个路径,如果常量不同的话)。
那就是说,背景是什么? 你不应该直接搞乱你的site-packages; setuptools / distutils将用于安装,并且您的程序可能在virtualenv中运行,其中您的pythonpath完全是用户本地的,因此它不应该直接使用系统站点包。
Charles Duffy answered 2018-12-27T03:45:28Z
15 votes
在基于Debian的系统中安装python安装的本机系统包可以在以下位置找到:
/usr/lib/python2.7/dist-packages/
在OSX中 - pip
通过使用这个小代码:
from distutils.sysconfig import get_python_lib
print get_python_lib()
但是,可以在以下位置找到通过pip安装的软件包列表:
在/ usr/ local / bin目录/
或者可以简单地编写以下命令来列出python包所在的所有路径。
>>> import site; site.getsitepackages()
['/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages']
注意:位置可能会因您的操作系统而异,例如在OSX中
>>> import site; site.getsitepackages()
['/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/site-python', '/Library/Python/2.7/site-packages']
fnatic_shank answered 2018-12-27T03:46:33Z
13 votes
所有答案(或:反复重复的相同答案)都不充分。 你想要做的是:
from setuptools.command.easy_install import easy_install
class easy_install_default(easy_install):
""" class easy_install had problems with the fist parameter not being
an instance of Distribution, even though it was. This is due to
some import-related mess.
"""
def __init__(self):
from distutils.dist import Distribution
dist = Distribution()
self.distribution = dist
self.initialize_options()
self._dry_run = None
self.verbose = dist.verbose
self.force = None
self.help = 0
self.finalized = 0
e = easy_install_default()
import distutils.errors
try:
e.finalize_options()
except distutils.errors.DistutilsError:
pass
print e.install_dir
最后一行显示安装目录。 适用于Ubuntu,而上述则不适用。 不要问我关于windows或其他dists的问题,但是因为它与easy_install默认使用的dir完全相同,所以在easy_install工作的地方(因此,无处不在,甚至是mac)都可能是正确的。 玩得开心。 注意:原始代码中有许多脏话。
cheater answered 2018-12-27T03:47:01Z
11 votes
附注:当存在多个site-packages目录时(根据本文的建议),建议的解决方案(distutils.sysconfig.get_python_lib())不起作用。 它只返回主要的site-packages目录。
唉,我也没有更好的解决方案。 Python似乎没有跟踪site-packages目录,只跟踪它们中的包。
Vladimir Vagaytsev answered 2018-12-27T03:47:29Z
9 votes
这对我有用。它将为您提供dist-packages和site-packages文件夹。如果文件夹不在Python的路径上,则不会无论如何,你做得很好。
import sys;
print [f for f in sys.path if f.endswith('packages')]
输出(Ubuntu安装):
['/home/username/.local/lib/python2.7/site-packages',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages']
just_an_old_guy answered 2018-12-27T03:47:57Z
8 votes
已经提到get_python_lib函数的附加说明:在某些平台上,不同的目录用于特定于平台的模块(例如:需要编译的模块)。 如果您将plat_specific=True传递给该函数,则会获得特定于平台的软件包的站点软件包。
Armin Ronacher answered 2018-12-27T03:48:19Z
7 votes
from distutils.sysconfig import get_python_lib
print get_python_lib()
Florian Bösch answered 2018-12-27T03:48:35Z
7 votes
这应该适用于虚拟环境中的所有分布,因为它具有“低技术”性质。 os模块总是驻留在'site-packages'的父目录中
import os; print(os.path.dirname(os.__file__) + '/site-packages')
要将dir更改为site-packages目录,我使用以下别名(在* nix系统上):
alias cdsp='cd $(python -c "import os; print(os.path.dirname(os.__file__))"); cd site-packages'
Pyramid Newbie answered 2018-12-27T03:49:03Z
2 votes
回答旧问题。 但是为此使用ipython。
pip install ipython
ipython
import imaplib
imaplib?
这将给出关于imaplib包的以下输出 -
Type: module
String form:
File: /usr/lib/python2.7/imaplib.py
Docstring:
IMAP4 client.
Based on RFC 2060.
Public class: IMAP4
Public variable: Debug
Public functions: Internaldate2tuple
Int2AP
ParseFlags
Time2Internaldate
Sahil Agarwal answered 2018-12-27T03:49:32Z
2 votes
现代stdlib方式使用sysconfig模块,可在2.7和3.2+版本中使用。 Python目前使用八个路径(docs):
stdlib:包含非特定于平台的标准Python库文件的目录。
platstdlib:包含特定于平台的标准Python库文件的目录。
platlib:特定于站点的平台特定文件的目录。
purelib:特定于站点的非平台特定文件的目录。
include:非平台特定头文件的目录。
platinclude:特定于平台的头文件的目录。
scripts:脚本文件的目录。
data:数据文件的目录。
在大多数情况下,发现此问题的用户会对'purelib'路径感兴趣(在某些情况下,您可能也对'platlib'感兴趣)。 与目前接受的答案不同,这种方法不应该是错误的,这取决于你是否激活了virtualenv。
在系统级(这是mac OS上的Python 3.7.0):
>>> import sysconfig
>>> sysconfig.get_paths()['purelib']
'/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages'
有了一个venv,你会得到这样的东西
>>> import sysconfig
>>> sysconfig.get_paths()['purelib']
'/private/tmp/.venv/lib/python3.7/site-packages'
shell脚本也可用于显示这些详细信息,您可以通过执行sysconfig作为模块来调用:
python -m sysconfig
注意:sysconfig(源代码)不要与这里的其他几个答案中提到的distutils.sysconfig子模块(源)相混淆。 这是一个完全不同的模块,它缺少上面讨论的get_paths功能。
wim answered 2018-12-27T03:51:18Z
0 votes
对于我正在处理的项目,我必须做一些稍微不同的事情:找到相对于基本安装前缀的相对site-packages目录。 如果site-packages文件夹在/Lib/site-packages中,我想要/lib/python3.6/site-packages部分。 事实上,我遇到site-packages在/usr/lib64中的系统,并且接受的答案对这些系统不起作用。
与骗子的答案类似,我的解决方案深入探究了Distutils的内涵,找到了实际在/Lib/site-packages内部传递的路径。想到我不希望任何人再次想到这一点,真是太痛苦了。。
import sys
import os
from distutils.command.install import INSTALL_SCHEMES
if os.name == 'nt':
scheme_key = 'nt'
else:
scheme_key = 'unix_prefix'
print(INSTALL_SCHEMES[scheme_key]['purelib'].replace('$py_version_short', (str.split(sys.version))[0][0:3]).replace('$base', ''))
这应该打印像/Lib/site-packages或/lib/python3.6/site-packages。
MultipleMonomials answered 2018-12-27T03:51:53Z
0 votes
如果已经添加到PYTHONPATH,您也可以执行类似的操作
import sys
print('\n'.join(sys.path))
filtfilt answered 2018-12-27T03:52:15Z
如何找到自己的python位置_安装 - 如何找到Python site-packages目录的位置?相关推荐
- python安装不了是什么问题_安装不上python的模块怎么办?别怕,我这有妙招!
之前我们介绍过如何在Python中安装第三方的包: Python以第三方包丰富而著称,你想要的功能几乎都可以通过pip命令安装,避免什么都要自己重新造轮子尬尴. 但是pip安装有两个常见问题,第一是下 ...
- pip 离线安装_安装不上python的模块怎么办?别怕,我这有妙招!
之前我们介绍过如何在Python中安装第三方的包: Python以第三方包丰富而著称,你想要的功能几乎都可以通过pip命令安装,避免什么都要自己重新造轮子尬尴. 但是pip安装有两个常见问题,第一是下 ...
- python下载_安装_配置_以及第一行python程序---python工作笔记009
然后我们再来看python的下载安装和配置 感觉在所有编程语言中,Python的 安装是最简单的 www.python.org进入 去看到有个downloads 然后,选择下载windows版的 然后 ...
- 跳一跳python刷分_微信跳一跳python怎么刷分 python脚本刷分技巧
随着微信跳一跳流行,很多小伙伴都想要得到高分,今天小编为大家带来的是通过python脚本来实现刷分,比较适合一些更专业人员来进行刷分.6JE亚风软件站_提供免费绿色软件下载_手机电脑软件下载 微信跳一 ...
- python编辑器_推荐一款Python编辑器,集Pycharm和Sublime优点于一身的王者
编程里面的编辑器就像是武林大会里面的高手,每一年都有新秀,黑马出现!比如有练习霸道的天罡之气的榜首Pycharm,力量雄厚霸道战斗力极强,但是对斗气消耗很大,占内存大而且启动速度有点慢!还有练习灵巧的 ...
- python 下载及安装-CentOS下python的下载及安装
针对" CentOS下python的下载及安装 "的问题,下面由IT产品经理-陆亦晓为您解答: Python这门编程语言在数据分析.数据发掘以及服务端开发等方面都有非常好的使用,我 ...
- 使用python数据分析_我如何使用Python分析《权力游戏》
使用python数据分析 By Rocky Kev 洛基·凯夫(Rocky Kev) I wanted to learn Python for a long time, but I could nev ...
- linux下载哪个python版本-Linux安装多个Python版本
服务器上的Python版本太老了,需要安装一个新的Python版本,才能跑我的代码.因为环境的需要,但是又不能卸载老的版本,所以安装一个新的,使用软链来进行升级. 使用系统自带的yum,apt-get ...
- python库_计算机二级教程 Python语言程序设计,第10章python第三方库概览
第十章学习知识导图 考点主要是: 1) 第三方库的获取和安装 2) 脚本程序转变为可执行程序的第三方库 : PyInstaller库(必选) 3) 第三方库: jieba库(必选).wordcloud ...
最新文章
- 安装 Fedora 21 工作站后要做的10件事情
- keras cnn注意力机制_TensorFlow、PyTorch、Keras:NLP框架哪家强
- golang结构体数组
- idea在Terminal中使用maven指令
- 腾讯面试题 TCP/IP协议四个层次
- python2转python3代码_python2代码批量转为python3代码
- c语言编程算法模板,C语言编程算法精选.doc
- 专家称 AI 可以在 120 年内接管人类的所有工作
- 解析 WordPress 插件机制
- KVM的安装和配置命令详解
- Unity调用动态链接库dll和so
- Jmeter学习笔记ONE
- css实现剪切蒙版,CSS3“蒙版(剪切路径)”: clip-path
- matlab学习技巧之semilogx和semilogy函数
- 做word计算机海报图片,怎么用word制作海报 海报制作方法
- 等了十年的微信功能终于成真
- 【GD32F310开发板试用】PWM+TMC5160驱动步进电机
- DDR、DDR2、DDR3、DDR4、LPDDR区别
- linux系统下如何修改开机图片,Ubuntu Kylin下修改登录背景,用户头像,开机动画及自动更换壁纸...
- visual studio 错误:在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include StdAfx.h”?
热门文章
- 解析中国天气网页面获取七日天气 (Java, Python)
- forcats | fct_reorder2函数功能详解及其在可视化中的应用
- python实现两个txt文件提取不同的数据
- 华为鲲鹏HCIA-Kunpeng Application Developer V1.0考试样题
- 深度解析拉卡拉支付产品架构
- CISSP|CISA|SSCP| GSECK考题模拟网站
- 日本蜡烛图分析技术:从入门到精通:读书笔记
- 可信执行环境TEE介绍及在区块链领域的应用
- 谈代码整洁之道,如何写出优雅的代码
- 解决 macOS HomeBrew 下载缓慢的问题