我最近创建了一个自定义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是否会处理?此外,如果有人可以链接一些我可以用来学习更多资源的资源,我将不胜感激。预先谢谢你。