PyPI 中有一个包叫做neat-python(是的,有一个连字符)。我可以很好地安装它,但不能将它导入到 Python 中。我尝试过使用下划线、括号并将名称设为字符串,但当然导入语句不允许使用它们。PyPI 是否真的接受带有非法 Python 名称的包,或者是否有我忽略的解决方案?
导入语法中不允许使用连字符。在 'neat-python' 的情况下,该软件包只是安装为 'neat':
import neat
Run Code Online (Sandbox Code Playgroud)
您可以通过查看您的 site-packages 目录(对我而言,即/usr/local/lib/python3.7/site-packages)来自行检查。
编辑:是的,PyPI 包允许这样做,这可能很烦人。通常,实际的包名称将是用于从 PyPI 安装的名称的一些非常相似的变体。
从 python3.x 开始,您可以将 importlib 用于某些实际安装时名称中带有连字符的通用模块。neat-python尽管我已被告知它实际上安装为neat:
--myscript.py--
import importlib
neat = importlib.import_module("neat-python")
# to then call "mymodule" in neat
neat.mymodule(someobject)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2426 次 |
| 最近记录: |