導航:首頁 > 編程語言 > python初始化

python初始化

發布時間:2022-01-13 20:20:41

python的安裝包最後一直初始化怎麼解決

當遇到無法導入某個python模塊時,可能會是沒有安裝某個模塊,也有可能是某模塊在載入過程中失敗,也有可能是陷入了循環導入的問題。本文詳細解釋了這個問題。
1. 模塊未安裝或者路徑不對
ImportError: No mule named myMole

有兩種可能,一是該模塊沒有安裝,一般可以用
pip install %mole_name%

來解決。注意有時候模塊安裝包名並不等於要導入的模塊名。這種情況下可以通過pip search | list命令來嘗試找到正確的包。
另一種情況就是包雖然安裝了,但當前運行的程序載入的路徑有錯。python運行時將從以下位置嘗試載入python moles:
* 當前目錄
* 環境變數$PYTHONPATH所指示的值,這是一個由「:」分隔的字元串,各個子字元串都是文件系統的一個路徑。
* 標准庫目錄,如dist-site-packages下的模塊。
* 在.pth文件中指定的路徑,如果存在.pth文件的話。
可以使用以下方式來查看python運行時的包含路徑:
?

12

import sysprint(sys.path)

在運行出錯的腳本裝頭部加上這一段代碼,然後在控制台中查看列印出來的python類庫路徑,檢查安裝包是否已包含在上述路徑中。
***可以通過下面的方式將未包含在路徑中的模塊臨時包含進來:***
sys.path.append("path/to/mole")

另外,還可以在shell窗口中查看當前的python包含路徑:
echo $PYTHONPATH
2. 無法導入已存在的模塊
如果要導入的模塊包含了native代碼,並且native代碼載入(初始化)失敗時,就會導致這種錯誤。使用ssl,
gevent等涉及native的模塊時,如果對應的native程序並未安裝,則會出現這樣的錯誤。
另一種錯誤情況是,使用相對路徑導入時,父模塊還未導入成功。見下面的代碼:
?

12345

main.pymypackage/ __init__.pymymole.pymyothermole.py

mymole.py如下所示:
?

123456789101112

#!/usr/bin/env python3 # Exported functiondef as_int(a): return int(a) # Test function for mole def _test(): assert as_int('1') == 1 if __name__ == '__main__': _test()

以及myothermole代碼如下所示:
?

1234567891011121314

#!/usr/bin/env python3 from .mymole import as_int # Exported functiondef add(a, b): return as_int(a) + as_int(b) # Test function for mole def _test(): assert add('1', '1') == 2 if __name__ == '__main__': _test()

如果執行mypackage/myothermole,則會報以下錯誤:
Traceback (most recent call last):
File "myothermole.py", line 3, in
<mole>
from .mymole import as_int
SystemError: Parent mole
'' not loaded, cannot perform relative import
[這篇文章](#Relative imports in
Python 3)給出了更詳細的解答。
3. 循環導入
這種錯誤稱之為"circular (or cyclic) imports"。是python獨有的一種導入錯誤,在象java這樣的語言中就不存在。
假設有如下兩個文件,a.py和b.py:
?

1234567

#a.pyprint "a in"import sysprint "b imported: %s" % ("b" in sys.moles, )import bprint "a out"print b.x

以及:
?

12345

#b.pyprint "b in"import aprint "b out"x = 3

執行python a.py,將得到以下結果:
?

123456789101112131415

$ python a.pya in b imported: Falseb ina inb imported: Truea outTraceback (most recent call last): File "a.py", line 4, in <mole> import b File "/home/shlomme/tmp/x/b.py", line 2, in <mole> import aFile "/home/shlomme/tmp/x/a.py", line 7, in <mole> print b.xAttributeError: 'mole' object has no attribute 'x'

出現這種情況的原因是產生了循環導入。循環導入,以及在導入過程中python進行了加鎖操作,最終導致在模塊b未導入完成時就引用了其中的名字。
判斷導入錯誤是否是因為循環導入引起的,主要看堆棧中是否出現兩次重復的導入。比如上述堆棧中a.py出現兩次,因此可以判斷是這個文件引起的循環導入。
要解決這個問題,可以把模塊看成一種資源,對所有要引入的模塊進行編號,再按靜態資源排序法順次導入,就可以避免循環導入。

⑵ python數組初始化

YTN數據初始化這個初始化的具體方式也是非常多的。

⑶ python類中的變數初始化

python進程重啟後,會默認重新初始化所有變數,不需要做什麼額外的操作。
如果解決了您的問題請採納!
如果未解決請繼續追問!

⑷ python怎麼初始化二維數組

你可以定義一個嵌套的list
表示一個二維數組,並初始化為這樣:

1
2

score = [[0]*3, [0]*3,[0]*3]
print score

這樣在循環外就能方便的訪問每個元素了。

⑸ Python 線程初始化

__init__函數是service類的初始化函數
這個函數中參數server_ip,server_port沒有默認值,初始化service類實例時必須給這兩個參數傳值
上面的代碼除了定義__init__函數體外,沒有任何其它的代碼,不知道在那裡初始了service類實例
如果你指的是threading.Thread.__init__(self)語句的話,這是調用父類的初始化方法

⑹ python如何初始化變數,求教

python進程重啟後,會默認重新初始化所有變數,不需要做什麼額外的操作。

如果解決了您的問題請採納!
如果未解決請繼續追問!

⑺ python中怎麼初始化list

Python中,tuple和list均為內置類型, 以list作為參數將tuple類初始化,將返回tuple類型 tuple([1,2,3]) #list轉換為tuple以tuple作為參數將list類初始化,將返回list類型 list((1,2,3)) #tuple轉換為list

⑻ python 新人 對 初始化函數 的概念沒明白 為什麼又要初始化函數 可以解釋的詳細些嗎

首先你要理解類和實例的區別。

類是你定義的這個新類型,這個類型可以有很多個實例。

比如 a = A(),A是個類,a就是A的一個實例,同樣可以b=A(),b也是A的一個實例。

初始化函數__init__在實例剛創建完成的時候調用,這里可以對這個實例的屬性進行初始化。

比如:

classA:
def__init__(self,num):
self.data=num
a=A(1)
b=A(2)

a.data的值就是1,b.data的值就是2

⑼ python的初始化方法有什麼用

1.
在程序執行時一定執行一次的操作

2.
python中初始化init 參數第一個必須要加 self

3.
對變數進行賦值 繼承: 子類繼承父類

⑽ python import 模塊時怎麼給此模塊初始化函數賦值

class A:
def __init__(self,newid= None):
self.newid=newid
這個一看就是一個類的初始化屬性,你初始化的時候只要import這個對象。
from a import A
obj = A(newid)
這樣就傳給那個初始化函數了。
這些都是python比較基礎的東西,還是建議你找本書看看,至少python的基本語法,類,內置函數這些要高明白。

如果解決了您的問題請採納!
如果未解決請繼續追問

閱讀全文

與python初始化相關的資料

熱點內容
愛濰坊app的那個題在哪裡 瀏覽:646
rust伺服器怎麼看是不是重開的 瀏覽:948
重置為什麼還是會有文件夾 瀏覽:566
雲上城之歌連接不了伺服器 瀏覽:662
有什麼可以比飛翔解壓的嗎 瀏覽:845
黑暗之魂攻略pdf 瀏覽:904
世嘉20壓縮比 瀏覽:148
瑞斯康達交換機命令 瀏覽:469
加密貨幣擠兌 瀏覽:575
scum伺服器新手禮包都有什麼 瀏覽:561
修改linux的編碼格式 瀏覽:48
單片機232通信 瀏覽:223
則在該支座一側箍筋加密 瀏覽:898
php緩存操作 瀏覽:658
程序員考公是什麼意思 瀏覽:404
安卓手機怎麼打開7z文件夾 瀏覽:818
領克app如何查看胎壓 瀏覽:956
跳跳花app在哪裡下載 瀏覽:673
內核編譯論壇 瀏覽:874
pr預覽渲染顯示錯誤編譯影片 瀏覽:723