我正在创建一个python 3.9程序,希望在本地安装软件包。所以我的项目是这样建立的:
__main__.py
test.py
requirements.txt
lib/
__init__.py
按照我的要求。txt文件我有3行:
colorama==0.2.2
click==8.0.3
pendulum==2.1.2
然后我跑:
python -m pip install -r requirements.txt -t ./lib
这将安装lib目录中的所有包和依赖项。
然后我在测试的顶部导入模块。py文件:
from lib import colorama
from lib import click
from lib import pendulum
在做一些测试时,我发现colorama工作正常。我将在一个简单的测试中使用它:
print(colorama.Fore.BLUE + "Hello, World!")
.控制台中的文本为蓝色,一切正常。
然后我尝试使用其他软件包,得到ModuleNotFoundError异常:
print(pendulum.now('Europe/Paris'))
Exception has occurred: ModuleNotFoundError - No module named 'pendulum'
这是来自它自己的一个文件。
当我使用Click时也会发生同样的事情,但有点不同。我将得到相同的ModuleNotFound异常,但这是为了它自己对Colorama的依赖。我不认为这与我也在导入Colorama这一事实有关,因为如果我卸载,我会得到相同的错误。
我也在python docx包中尝试过这一点。我在需求中添加了python docx==0.8.11。txt文件,然后发出与上面相同的命令,将其安装到我的本地lib目录。它似乎安装得很好。我看到了docx目录及其所有依赖项。然后我导入
from lib import docx
然后在测试中做一些简单的事情。py:
doc = docx.Document()
然后获取ModuleNotFound错误:文件“C:\Users\name\Development\python\test local package\lib\docx_
初始化
_.py”,第3行,在(当前帧)中没有名为“docx”的模块
有人知道我做错了什么吗?