2015-05-30 37 views
1

我一直在努力安装一个名为dragnet的python软件包,它在我身上恍然大悟,对于存储软件包的位置以及它们在python中的访问方式知之甚少。当我在python中导入X时,python会采取哪些步骤来尝试导入包?其中软件包存储在python中(试图安装dragnet)

我安装了anaconda,它看起来像许多存储在〜/ anaconda/pkgs中的名称,如“argcomplete-0.8.4-py27_0”。

一堆其他软件包位于/Library/Python/2.7/site-packages。有时conda安装X不起作用,但pip安装将会(conda pip被折旧),并且在这些情况下,软件包通常会在这里结束。 planout和dragnet都是这种软件包的例子。

但是,Dragnet尽管存在于/Library/Python/2.7/site-packages中,但并不想导入。当我直接进入ipython文件夹/Library/Python/2.7/site-packages时,它会导入ok。我不知道该把它放在哪里,或者如何使它不在文件夹中时可以访问它?我会很高兴指向一个很好的教程或关于打包,打包位置和python导入的概述。

+1

问题,要求我们建议还是找一本书,工具,软件库,教程或其他异地资源是题外话堆栈溢出,因为他们往往以吸引自以为是的答案,垃圾邮件。 – MattDMo

回答

2

如果您无法使用anaconda进行安装,并且您需要以其他方式安装,而另一种方式最终会导致安装不在anaconda软件包文件夹中(可以说最终会有一个新安装在/Library/Python/2.7/site-packages),一个合理的解决办法如下:

import sys 
sys.path.append('/Library/Python/2.7/site-packages') 
import desired_package_found_in_that_folder 

这将迫使蟒蛇该文件夹中查找包。

1

不是全局安装包,而是使用Virtualenv创建虚拟环境。这将帮助你隔离不同的项目,并且也会使依赖和包管理变得更容易。

在这里阅读文档:https://virtualenv.pypa.io/en/latest/