Python错误无法导入我的需求

2024-04-24 16:54:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在Python文件中使用几个导入。然而,它们似乎都没有正确导入。我使用的是miniconda环境,我已经尝试运行Python版本2.7和3.8

以下几行代码会在我运行应用程序时立即导致失败。如果我注释掉前几行,我只会得到关于openpyxl而不是dotenv的相同错误

from dotenv import load_dotenv
load_dotenv()
from openpyxl import Workbook

我在requirements.txt文件中列出了这两个文件,并且我能够毫无问题地运行“pip install-r requirements.txt”,但在尝试运行“python-m src.main”时仍然会出错。 错误如下所示。还有什么我可以试试的吗

Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/Users/path/a/b/src/main.py", line 2, in <module>
from dotenv import load_dotenv
ImportError: No module named dotenv

。。。或者这个:

Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/Users/path/a/b/src/main.py", line 5, in <module>
from openpyxl import Workbook
ImportError: No module named openpyxl

编辑: 这里有一些额外的信息。我认为这些路径在途中被破坏了。有人能告诉我在miniconda环境中这些命令的预期输出吗

(MyEnv2) MyMacbook:my-rep my-user$ which python
/usr/bin/python

(MyEnv2) MyMacbook:my-rep my-user$ which pip
/Users/my-user/opt/miniconda3/envs/MyEnv2/bin/pip

(MyEnv2) MyMacbook:my-rep my-user$ which pip3
/usr/bin/pip3

注意-这些路径都与我的错误中的此路径不匹配:

/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7

此外,以下是echo$PATH的输出:

/Users/my-user/.nvm/versions/node/v8.14.1/bin
:/usr/local/bin
:/usr/bin
:/bin
:/usr/sbin
:/sbin
:/Library/Python/2.7/bin
:/Library/apache-maven-3.6.3/bin
:/usr/local/share/dotnet
:~/.dotnet/tools
:/Users/my-user/opt/miniconda3/envs/MyEnv2/bin
:/Users/my-user/opt/miniconda3/condabin
:/Users/my-user/google-cloud-sdk/bin
:/Users/my-user/.nvm/versions/node/v8.14.1/bin
:/Users/my-user/.nvm/versions/node/v8.14.1/bin

Tags: runinpybinmainmyusrline
1条回答
网友
1楼 · 发布于 2024-04-24 16:54:59

我通过从中删除以下内容来解决此问题:/etc/paths

/Library/Python/2.7/bin

删除该行后,我能够看到which pipwhich pip3which python的(几乎)相同的输出。所有3个输出如下(路径末尾有相应的应用程序):

/Users/my-user/opt/miniconda3/envs/MyEnv2/bin/python

相关问题 更多 >