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

问题描述:

这可能是那些烦人的新手问题之一。我想在我的Django项目中使用名为jieba的python包。我尝试了pip安装,并将包文件夹拖到我的apps目录中,但未成功导入包(ModuleNotFoundError)。请告诉我如何做到这一点。谢谢!如何将非Django python包添加到Django项目中?

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

更新: 原来我已经正确安装了jieba,但Atom Runner无法导入它。我切换到PyCharm,现在它工作正常。除编辑器外没有任何变化。

+1

你需要做的就是导入它。没有拖动需要=) –

+0

@The_Cthulhu_Kid \t 我的意思是我试过pip安装jieba,并没有工作。然后,我尝试将该文件夹拖到apps目录,但它不起作用。 – Gnoliz

+0

从其repo下载'jieba',并在激活'venv'的情况下,使用'setup.py'将cd放入目录。然后做'点安装',看看是否有帮助。 –

最有可能你不能这样做:

import jieba 

了,因为你已经拖/移动从那里应该是PIP安装后的包文件夹。尝试将其拖回或卸载并再次安装软件包,然后正常导入。

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

+0

我的意思是我试过pip安装jieba,它没有工作。然后,我尝试将该文件夹拖到apps目录,但它不起作用。 – Gnoliz

+0

好的,我刚刚做了pip安装jieba,然后在我的脚本中导入jieba,并且它工作正常,所以它不是关于导入包的方式。尝试做点子列表| grep jieba确保软件包已经真正安装并且可以在你的环境中使用,并且确保你实际上将软件包安装到了env中并且在env中工作。 –

+0

谢谢!事实证明,我已经正确安装了jieba,但Atom Runner无法导入它。我切换到PyCharm,现在它工作正常。除编辑器外没有任何变化。不过,我更喜欢Atom。 – Gnoliz

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

这是否意味着以后你只需要使用PIP安装你的包,并使用在项目像下面的示例:一旦它被点子所有已安装

PIP安装解霸

# 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)) 
+0

我的意思是我试过pip安装jieba,但它没有工作(ModuleNotFoundError)。然后,我尝试将该文件夹拖到apps目录,但它不起作用。之后,我还尝试将'jieba'添加到INSTALLED_APPS列表中,但没有运气。我在这里错过了什么? – Gnoliz