如果您继承了一些具有include
的python代码,但是您不知道以前安装了哪些包来满足这些include
的要求,那么如何搜索包含该模块的pip包呢?你知道吗
在本例中,我试图找到要安装的pip包,以满足以下要求:
from django.utils.encoding import smart_str, smart_unicode
通过安装Django
,我能够满足smart_str
,但我仍然没有smart_unicode
。你知道吗
pip search
没有帮助,因为它只搜索名称与您的搜索匹配的包。它不会告诉您哪些包包含特定的模块或其他命名对象,如smart_unicode
。大约有一百万个包的名称中有一些django
的变体。你知道吗
在找出答案一次之后,我将把它写入一个requirements.txt
文件中,以防止将来使用这个特定的python文件出现这个问题。你知道吗
如何搜索包含模块的pip包?你知道吗
这个函数存在于Django中,但是您必须使用python2或将应用程序移植到现代Python和现代Django。你知道吗
很可能您使用的是python3和Django 2。很可能您继承的代码是为同样支持Python2的Django版本(可能是1.XX版本)编写的,并且他们没有按照要求提供正确的Django版本。因此,在执行
pip install
时,必须显式指定django1.xx的特定版本,这样pip install django=1.11
之类的操作会有所帮助。你知道吗下面是我手头的
django 1.11
代码的一个简短片段因此,用
smart_text
替换代码中所有出现的smart_unicode
会使它工作起来,并使它有一点未来的证明(至少是这一部分)。你知道吗从长远来看,可以考虑使用python3和受支持的Django版本。你知道吗
相关问题 更多 >
编程相关推荐