在CLI应用程序中导入自定义程序包时出现ModuleNotFoundError

时间:2020-10-11 14:51:25

标签: python python-3.x command-line-interface

我最近创建了一个自定义python程序包,作为概念验证,我正在创建一个非常简单的命令行应用程序,该程序利用了我的程序包中的脚本。我遵循了this简单教程来创建和安装CLI应用程序。 CLI可以按预期工作...直到尝试导入自定义程序包。我的包裹在这里:

/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages

导入我的自定义软件包可以在python脚本中进行,而不能在命令行中进行。所以,当我尝试:

$ typeshell

我收到此错误:

Traceback (most recent call last):
  File "/Users/greysonmurray/opt/anaconda3/bin/typeshell", line 11, in <module>
    load_entry_point('typeshell-cli', 'console_scripts', 'typeshell')()
  File "/Users/greysonmurray/opt/anaconda3/lib/python3.7/site-packages/pkg_resources/__init__.py", line 473, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/Users/greysonmurray/opt/anaconda3/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2843, in load_entry_point
    return ep.load()
  File "/Users/greysonmurray/opt/anaconda3/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2447, in load
    return self.resolve()
  File "/Users/greysonmurray/opt/anaconda3/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2453, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/Users/greysonmurray/Desktop/Developer/Python/typeshell-cli/typeshell/__main__.py", line 5, in <module>
    import pytype as pt
ModuleNotFoundError: No module named 'pytype'

从回溯看,它似乎正在执行此目录中的typeshell可执行文件:

/Users/greysonmurray/opt/anaconda3/bin/typeshell

并在此目录中查找python软件包:

/Users/greysonmurray/opt/anaconda3/lib/python3.7/site-packages

我意识到我的包所在的路径与Anaconda(?)所查找的路径完全不同。我对Anaconda并不十分了解-自从学习python以来我就没有使用它,所以我寻找有关从这里出发的指南。我需要Anaconda来运行CLI应用程序还是可以将CLI应用程序与Anaconda完全解除关联?另外,当我pip3 install -e .时,Anaconda是否会处理?此外,如果有人可以链接一些我可以用来学习更多资源的资源,我将不胜感激。预先谢谢你。

0 个答案:

没有答案