包存储在 python 中的位置(尝试安装 dragnet)
where packages are stored in python (trying to install dragnet)
我一直在努力安装一个名为 dragnet 的 python 包,我突然意识到我对包的存储位置以及它们在 python 中的访问方式知之甚少。当我在 python 中导入 X 时,python 采取了哪些步骤来尝试导入包?
我安装了 anaconda,看起来很多存储在 ~/anaconda/pkgs 中,名称如 "argcomplete-0.8.4-py27_0"。
一堆其他包在 /Library/Python/2.7/site-packages 中。有时 conda install X 不起作用,但 pip install 可以(conda pip 已贬值),在这些情况下,包通常会在这里结束。 planout 和 dragnet 都是此类包的示例。
然而,尽管 Dragnet 存在于 /Library/Python/2.7/site-packages 中,但它不想导入。当我直接进入文件夹 /Library/Python/2.7/site-packages in ipython 时,它将正常导入。我不知道把它放在哪里,或者当它不在文件夹中时如何让它可以访问?如果能提供一个关于打包、包位置和导入的好教程或概述的指针,我将不胜感激 python。
如果您无法使用 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 在该文件夹中查找包。
使用 Virtualenv 创建虚拟环境,而不是全局安装包。这将帮助您隔离不同的项目,并使依赖关系和包管理更加容易。
我一直在努力安装一个名为 dragnet 的 python 包,我突然意识到我对包的存储位置以及它们在 python 中的访问方式知之甚少。当我在 python 中导入 X 时,python 采取了哪些步骤来尝试导入包?
我安装了 anaconda,看起来很多存储在 ~/anaconda/pkgs 中,名称如 "argcomplete-0.8.4-py27_0"。
一堆其他包在 /Library/Python/2.7/site-packages 中。有时 conda install X 不起作用,但 pip install 可以(conda pip 已贬值),在这些情况下,包通常会在这里结束。 planout 和 dragnet 都是此类包的示例。
然而,尽管 Dragnet 存在于 /Library/Python/2.7/site-packages 中,但它不想导入。当我直接进入文件夹 /Library/Python/2.7/site-packages in ipython 时,它将正常导入。我不知道把它放在哪里,或者当它不在文件夹中时如何让它可以访问?如果能提供一个关于打包、包位置和导入的好教程或概述的指针,我将不胜感激 python。
如果您无法使用 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 在该文件夹中查找包。
使用 Virtualenv 创建虚拟环境,而不是全局安装包。这将帮助您隔离不同的项目,并使依赖关系和包管理更加容易。