是否可以从命令行找到python包的路径?

时间:2015-11-10 05:25:46

标签: python ubuntu command-line-interface

我知道你可以做红宝石。

gem path filename
宝石安装' gem-path'在终端中的

你可以在python中做

>>> import os
>>> import inspect
>>> inspect.getfile(os)
'/usr/lib64/python2.7/os.pyc'
>>> inspect.getfile(inspect)
'/usr/lib64/python2.7/inspect.pyc'
>>> os.path.dirname(inspect.getfile(inspect))
'/usr/lib64/python2.7'

在python shell中,但是你可以用python做任何类似Ruby的版本吗?

我使用xubuntu,如果这有任何区别。

4 个答案:

答案 0 :(得分:1)

如果包是由pip安装的:

$ pip show pep8
---
Name: pep8
Version: 1.6.2
Location: /usr/local/lib/python2.7/dist-packages
Requires: 

您必须自己将/pep8[/|.py|.pyc]添加到该位置。

来自翻译:

$ python
Python 2.7.6 (default, Jun 22 2015, 17:58:13) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pep8
>>> pep8
<module 'pep8' from '/usr/local/lib/python2.7/dist-packages/pep8.pyc'>

答案 1 :(得分:1)

使用以下

pip show package-name

例如:

C:\Users\User>pip show numpy
---
Name: numpy
Version: 1.9.2
Location: c:\python34\lib\site-packages
Requires:

答案 2 :(得分:1)

您可以使用inspect本身

执行此操作
$ python -m inspect -d os 

Target: os
Origin: /opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/os.py
Cached: /opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/__pycache__/os.cpython-34.pyc
Loader: <_frozen_importlib.SourceFileLoader object at 0x10a504a58>

答案 3 :(得分:0)

$ python -c "import pip; print(pip.__path__[0].rstrip('/pip'))"
/path/to/site-packages