如何将非Django python包添加到Django项目?

时间:2017-09-05 09:01:53

标签: python django

这可能是令人烦恼的新手问题之一。我试图在我的Django项目中使用一个名为jieba的python包。我已经尝试了pip install并将包文件夹拖到我的apps目录中,但是没有成功导入包(ModuleNotFoundError)。请告诉我如何做到这一点。谢谢!

编辑:
我的意思是我尝试了pip install jieba,它没有用(ModuleNotFoundError)。 我确保它已在我的项目虚拟环境中正确安装,但不知道如何在Django项目中导入它。试过:import jiebafrom jieba import jieba,没有运气。 然后,我尝试将该文件夹拖到apps目录中,但它仍然无法正常工作。

更新: 事实证明我已经正确安装了jieba,但是Atom Runner不知何故无法导入它。我切换到PyCharm,现在它工作正常。除了编辑,没有任何改变。

2 个答案:

答案 0 :(得分:2)

很可能你做不到:

import jieba

因为你在pip安装后将包文件夹从它应该的位置拖动/移动了。尝试将其拖回或卸载并再次安装包,然后照常导入。

此外,如果您使用的是虚拟环境,请确保在安装软件包之前激活了您的环境。

答案 1 :(得分:0)

您不需要将dist包中的python包复制到项目根目录。 Pip包是独立工作的,不需要为django实现。

这意味着在您需要仅使用pip安装包并在项目中使用之后,如下所示:

  

pip install jieba

# encoding=utf-8
import jieba

seg_list = jieba.cut("我来到北京清华大学", cut_all=True)
print("Full Mode: " + "/ ".join(seg_list))  # 全模式

seg_list = jieba.cut("我来到北京清华大学", cut_all=False)
print("Default Mode: " + "/ ".join(seg_list))  # 精确模式

seg_list = jieba.cut("他来到了网易杭研大厦")  # 默认是精确模式
print(", ".join(seg_list))

seg_list = jieba.cut_for_search("小明硕士毕业于中国科学院计算所,后在日本京都大学深造")  # 搜索引擎模式
print(", ".join(seg_list))