我注意到我$HOME/.local
在我的机器上,似乎这个目录主要包含与python相关的东西,这里是它的完整列表(它有点长).
我想问一下这个目录创建了哪个动作?我想它是pip install --user -r requirements.txt
(下面是我已经弄明白的命令),但我想知道是否还有其他工具存储数据?我想如果是pip
这样easy_install
可以做到这一点或不做?您是否知道使用此目录的任何其他工具,或者它是pip
专属的?
以下命令显示从该目录导入了一些python模块,最后一个的输出在这里(它有点长):
marek@ubuntu:~$ python -c 'import mock; print mock.__file__'
/home/marek/.local/lib/python2.7/site-packages/mock.pyc
marek@ubuntu:~$ echo $PYTHONPATH
marek@ubuntu:~$ tree .local/ | grep mock
? ??? mock-1.0.1.egg-info
? ??? mock.py
? ??? mock.pyc
? ? ??? mock.py
? ? ??? mock.pyc
marek@ubuntu:~$ pip show -f mock
---
Name: mock
Version: 1.0.1
Location: /home/marek/.local/lib/python2.7/site-packages
Requires:
Files:
Cannot locate installed-files.txt
marek@ubuntu:~$ python -c 'import sys, pprint; pprint.pprint(sys.path)'
['',
'/home/marek/.local/lib/python2.7/site-packages/nupic-0.3.0.dev0-py2.7-linux-x86_64.egg',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/home/marek/.local/lib/python2.7/site-packages',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages/PILcompat',
'/usr/lib/python2.7/dist-packages/gtk-2.0',
'/usr/lib/pymodules/python2.7',
'/usr/lib/python2.7/dist-packages/ubuntu-sso-client']
marek@ubuntu:~$ python -v 2>&1 | tee modules
Run Code Online (Sandbox Code Playgroud)
在下面回答说,应该有$HOME/.local/bin/hg
这个目录中,如果它与创建pip
,但我没有这个文件.它创建pip
与否?
tyn*_*ynn 12
它没有直接连接到Python,但是Pip使用它.让我们从头开始.首先你应该明白,/usr
目录用于:
在当前的Unices中,/ usr是用户土地计划和数据(与"系统土地"程序和数据相对)的地方.
它应该用于系统安装的数据,即分发的官方包.
该/usr/local
目录镜像目录的结构/usr
,但系统管理员可以使用该目录为所有用户安装本地或第三方程序包.
该~/.local
目录现在仅针对单个用户具有相同的目的.
通常,您将使用该/usr
目录使用默认包管理器安装包.但是,由于您使用Pip作为Python模块的包管理器,因此将安装这些模块~/.local
.
所以基本上pip
可能已创建~/.local
或只是任何其他程序将数据写入其中一个目录.~/.local/share
例如,大多数应用程序使用它来存储其数据.
Max*_*ski 12
$HOME/.local 是用户应用程序将其文件和文件夹放置在用户主目录中的位置。
根据file-hierarchy(7)手册页的主目录部分,特定于用户的数据应在以下子目录中拆分:$HOME/.local
~/.local/bin
对于应出现在用户的 $PATH 搜索路径中的可执行文件。在 Python 的情况下,这可能是一个像pipenv
.~/.local/lib
适用于与所有架构兼容的静态、私有供应商数据。在 Python 的情况下,这些是像requests
.~/.local/share
用于多个包之间共享的资源。在 Python 的情况下,这可能是virtualenvs
. 它也是XDG 基本目录规范的一部分,其中提到它作为$XDG_DATA_HOME
.从上面的观察可以清楚地看出,$HOME/.local
这与 Python 本身没有什么特别的关系。pip install --user
将其文件放入$HOME/.local
仅意味着它符合freedesktop.org发布的建议。
如果您使用 安装包sudo pip install
,它将根据文件系统层次结构标准将包文件分发到/usr
层次结构中,这在系统级别遵循相同的逻辑,就像您的分发包管理器一样。
归档时间: |
|
查看次数: |
5200 次 |
最近记录: |