一个鸣叫曰:
不要使用easy_install,除非你喜欢刺伤自己的脸.使用点子.
为什么要使用pip而不是easy_install?问题不在于PyPI和包装作者吗?如果作者将垃圾源tarball(例如:丢失文件,没有setup.py)上传到PyPI,那么pip和easy_install都将失败.除了化妆品差异,为什么Python人(如上面的推文)似乎强烈支持pip而不是easy_install?
(我们假设我们正在讨论来自Distribute包的easy_install,这是由社区维护的)
我在我的系统上安装了一个python模块,我希望能够看到它中有哪些函数/类/方法.
我想在每一个上调用doc函数.在ruby中,我可以执行类似ClassName.methods的操作,以获取该类上可用的所有方法的列表.python中有类似的东西吗?
例如.就像是:
from somemodule import foo
print foo.methods # or whatever is the correct method to call
Run Code Online (Sandbox Code Playgroud) 有没有办法在Python中列出所有已安装的软件包及其版本?
我知道我可以进去python/Lib/site-packages看看存在哪些文件和目录,但我觉得这很尴尬.我正在寻找的东西类似于npm list即NPM-LS.
如何以编程方式获取Python包的依赖项列表?
标准setup.py有这些记录,但我找不到从 Python或命令行访问它的简单方法.
理想情况下,我正在寻找类似的东西:
$ pip install somepackage --only-list-deps
kombu>=3.0.8
billiard>=3.3.0.13
boto>=2.26
Run Code Online (Sandbox Code Playgroud)
要么:
>>> import package_deps
>>> package = package_deps.find('somepackage')
>>> print package.dependencies
['kombu>=3.0.8', 'billiard>=3.3.0.13', 'boto>=2.26']
Run Code Online (Sandbox Code Playgroud)
注意,我不是在谈论导入包和查找所有引用的模块.虽然这可能会找到大多数依赖包,但它无法找到所需的最小版本号.那只存储在setup.py中.
你可以cd去YOUR_ENV/lib/pythonxx/site-packages/看看,但有什么方便吗?
pip freeze 列出所有已安装的软件包,包括系统环境.
我最近开始学习Python,我有两个与模块有关的问题.
我想在python中获取内置模块的名称列表,以便我可以测试函数命名约定(下划线,CamelCase或mixedCase)的流行度.
我知道有一个全局模块索引,但我想知道是否有一个字符串列表,这更容易使用:)
更新:
len(dir(__builtins__)) = 145
len(stdlib_list("2.7")) = 430
help('modules') = 508 # counting manually the output
Run Code Online (Sandbox Code Playgroud) 我正在加入一个项目,所以我想建立环境,所以我做的是:
pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)
这完全安装了所有要求,包括django 1.7.0,Pillow 2.4.0和其他一些.
然后我想构建数据库:
python manage.py migrate
Run Code Online (Sandbox Code Playgroud)
繁荣,错误,我得到以下:
CommandError: System check identified some issues:
ERRORS:
stu.chan.icon: (fields.E210) Cannot use ImageField because Pillow is not installed.
HINT: Get Pillow at https://pypi.python.org/pypi/Pillow or run command "pip install pillow".
stu.chan.image: (fields.E210) Cannot use ImageField because Pillow is not installed.
HINT: Get Pillow at https://pypi.python.org/pypi/Pillow or run command "pip install pillow".
stu.Piec.icon: (fields.E210) Cannot use ImageField because Pillow is not installed.
HINT: Get Pillow at https://pypi.python.org/pypi/Pillow or run command …Run Code Online (Sandbox Code Playgroud) from distutils.sysconfig import get_python_lib; print get_python_lib()
Run Code Online (Sandbox Code Playgroud)
返回: /usr/lib/python2.6/site-packages
import sys; print sys.path
Run Code Online (Sandbox Code Playgroud)
返回: ['', '/usr/lib/python2.6/site-packages/Django-1.1.1-py2.6.egg', '/usr/lib/python2.6/site-packages/pip-0.6.3-py2.6.egg', '/usr/lib/python2.6/site-packages/TRML2PDF-1.0-py2.6.egg', '/usr/lib/python2.6/site-packages/django_threaded_multihost-1.3_3-py2.6.egg',...............
但是如何列出安装的网站包中的"可导入名称"?例如:(在导入结果之前)django, pip, trm2pdf....
谢谢.
python ×9
pip ×4
django ×2
module ×2
directory ×1
easy-install ×1
inspect ×1
install ×1
packages ×1
pillow ×1
pypi ×1
reflection ×1
setuptools ×1
virtualenv ×1