我在这里发布了一个关于诗歌的问题。我在他们的github中把它作为一个bug报告,但现在我不确定它是bug还是我不理解的东西
我正在尝试使用笔记本中的项目包或源代码文件夹外的一些脚本。我的项目结构如下:
├── notebooks
│ └── Untitled.ipynb
├── poetry.lock
├── pyproject.toml
├── scripts
│ ├── init.py
│ └── hello.py
├── source
│ ├── init.py
│ └── utils.py
├── tests
│ └── init.py
└── zip_project.py
如果我运行诗歌安装并尝试从源代码导入任何内容,无论是从笔记本还是从hello.py脚本,它都找不到源模块。如果我运行python脚本/hello.py,它可以工作,但它不应该是解决方案,因为它仍然不适用于笔记本电脑。我使用pyenv进行python版本管理,以防万一
签出this update at poetry's docs后,我尝试运行“poyment add./source/”,但出现以下错误:
TypeError
expected string or bytes-like object
at ~/.poetry/lib/poetry/vendor/py3.7/poetry/core/utils/helpers.py:27 in canonicalize_name
23│ canonicalize_regex = re.compile(r"[-]+")
24│
25│
26│ def canonicalize_name(name): # type: (str) -> str
→ 27│ return canonicalize_regex.sub("-", name).lower()
28│
29│
30│ def module_name(name): # type: (str) -> str
31│ return canonicalize_name(name).replace(".", "").replace("-", "")
编辑:我已经更新了pyproject.toml(gist),试图遵循Finswiller的建议,但每次运行更新时都会出现“目录{}似乎不是Python包”错误
编辑2:我发现,如果我的包是以pyproject.toml
项目名命名的,并且删除了对它的任何其他引用,那么它就会被安装(也就是说,通过docs的标准方式)。顺便说一句,如果我试图通过编辑pyproject.toml
或通过poetry add "./my_package/"
的方式添加具有不同名称的包,我会得到"Directory {} does not seem to be a Python package"
错误。为什么会发生这种情况
目前没有回答
相关问题 更多 >
编程相关推荐