许多python包都依赖于非Python包。我特别想到了lxml和cffi,但这种困境适用于PyPI上的许多包。这两个包都对非Python包(如libxml2-dev、libxslt-dev、zlib1g-dev和libffi-dev)具有未公开的构建依赖关系。lxml和cffi的网站声明了其中一些依赖项,但似乎无法从命令行解决此问题。因此,有数百个关于SO的问题采用这种一般形式:pipinstallfoofailswithanerror:"fatalerror:bar.h:Nosuchfileordirectory".HowdoIfixit?这是对pip的误用还是它的工作原理?有没有
所以我的python项目有一个名为venv的virtualenv文件夹。我可以跑:venv/bin/pipinstall-rrequirements.txt它安装了我需要的项目的所有要求,除了一个,M2Crypto。安装它的唯一方法是通过apt-get:apt-getinstallpython-m2crypto然后如何将通过apt安装的这个包添加到venv文件夹? 最佳答案 --system-site-packages为虚拟环境提供对全局站点包模块的访问权限。你可以这样做:$sudoapt-getinstallpython-m2cr
我有一个名为requests.py的脚本,用于导入requests包。该脚本要么无法访问包中的属性,要么无法导入它们。为什么这不起作用,我该如何解决?以下代码引发AttributeError。importrequestsres=requests.get('http://www.google.ca')print(res)Traceback(mostrecentcalllast):File"/Users/me/dev/rough/requests.py",line1,inimportrequestsFile"/Users/me/dev/rough/requests.py",line3,in
开发DjangoWeb应用程序时,我有一个需要安装在virtualenv中的软件包列表。说:Django==1.3.1--extra-index-url=http://dist.pinaxproject.com/dev/Pinax==0.9b1.dev10git+git://github.com/pinax/pinax-theme-bootstrap.git@cff4f5bbe9f87f0c67ee9ada9aa8ae82978f9890#andotherpackages最初,我在开发过程中一个一个地手动安装它们。这安装了所需的依赖项,我最终在部署应用程序之前使用了pipfreeze。
我通过pipinstallsomething安装了一些软件包。我想编辑包something的源代码。它在哪里(在ubuntu12.04上)以及如何在每次编辑源代码并运行它时重新加载它?目前我正在编辑源代码,然后一次又一次地运行pythonsetup.py,结果发现这很麻烦。 最佳答案 您永远不应编辑已安装的软件包。相反,安装一个fork版本的包。如果您需要经常编辑代码,请不要通过pipinstallsomething安装包并在'.../site_packages/...'中编辑代码相反,将源代码放在开发目录下,并安装它$python
在位于包内的模块中,我需要使用在该包的__init__.py中定义的函数。如何在包中的模块中导入包,以便我可以使用该功能?在模块内部导入__init__不会导入包,而是导入一个名为__init__的模块,导致两个不同名称的东西副本...有没有pythonic方法可以做到这一点? 最佳答案 另外,从Python2.5开始,相对导入是可能的。例如:from.importfoo引自http://docs.python.org/tutorial/modules.html#intra-package-references:从Python2.5
当你使用pip安装一个包时,所有需要的包也会随之安装(依赖)。卸载该包是否也会删除依赖包? 最佳答案 您可以安装和使用pip-autoremove用于删除包和未使用的依赖项的实用程序。#installpip-autoremovepipinstallpip-autoremove#remove"somepackage"plusitsdependencies:pip-autoremovesomepackage-y 关于python-卸载带有"pip"的包是否也会删除依赖包?,我们在StackO
有没有办法在Python中列出所有已安装的包及其版本?我知道我可以进入python/Lib/site-packages并查看存在哪些文件和目录,但我觉得这很尴尬。我正在寻找类似于npmlist的东西,即npm-ls. 最佳答案 如果你有pipinstall并且你想看看你的安装工具安装了哪些包,你可以简单地调用这个:pipfreeze它还将包括已安装软件包的版本号。更新pip已更新为通过调用产生与pipfreeze相同的输出:piplist注意piplist的输出格式不同,所以如果你有一些shell脚本可以解析freeze的输出(也许
当将文件从old.packagemove到new.package时,我希望发生两件事:更新对该类的所有引用(在项目的所有文件中),以便使用新包svnmoveold/package/Foo.javanew/package/Foo.java我在EclipseGanymede中使用颠覆性的。当我只是将文件从一个包拖到另一个包时,所有引用都会更新,并且文件会在文件系统上move。但是SVN不知道这一点,因此svnmoveold/package/foo.javanew/package/Foo.java命令在old/package/Foo.java时不起作用(显然)不存在(因为eclipse已经m
在Eclipse中为AWS安装工具时,遇到如下错误:Cannotcompletetheinstallbecauseoneormorerequireditemscouldnotbefound.Softwarecurrentlyinstalled:AmazonSimpleDBManagement1.0.0.v201111161400(com.amazonaws.eclipse.datatools.enablement.simpledb.feature.feature.group1.0.0.v201111161400)Missingrequirement:EclipseDataToolsPl