我一直在努力安装一个名为dragnet的python软件包,而且我明白了我对存储软件包的位置以及如何在python中访问它们的了解甚少。当我在python中导入X时,python采取了哪些步骤来尝试导入包?
我安装了anaconda,看起来很多都存储在〜/ anaconda / pkgs中,其名称类似于" argcomplete-0.8.4-py27_0"。
其他一些软件包位于/Library/Python/2.7/site-packages中。有时conda安装X不起作用,但是pip install会(conda pip被折旧),在这些情况下,包通常会在这里结束。 planout和dragnet都是这种包的例子。
然而,尽管存在于/Library/Python/2.7/site-packages中,但Dragnet并不想导入。当我直接进入ipython中的文件夹/Library/Python/2.7/site-packages时,它将导入ok。虽然不在文件夹中,但我无法弄清楚放在哪里或如何使它可以访问?我非常欣赏指向包装,包装位置和python导入的优秀教程或概述的指针。答案 0 :(得分:3)
如果您无法使用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
这会强制python在该文件夹中查找包。
答案 1 :(得分:1)
不是全局安装软件包,而是使用Virtualenv创建虚拟环境。这将有助于您隔离不同的项目,并使依赖和包管理更容易。