簡體   English   中英

如何從PyPI導入名稱中帶有連字符的軟件包?

[英]How import package from PyPI with hyphen in name?

PyPI中有一個名為neat-python的軟件包(是的,帶有連字符)。 我可以很好地安裝它,但不能將其導入Python。 我已經嘗試過使用下划線,括號並將名稱設置為字符串,但是import語句當然不允許使用它們。 PyPI是否實際上接受帶有非法Python名稱的軟件包,還是我忽略了一個解決方案?

導入語法中不允許使用連字符。 如果是“整潔的python”,則該軟件包將簡單地安裝為“整潔的”:

import neat

您可以通過查看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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM