1. 程式人生 > 實用技巧 >python 本機發布模組後匯入模組並使用過程中出現的問題(待解決)

python 本機發布模組後匯入模組並使用過程中出現的問題(待解決)

高中教科版資訊科技必修1《資料與計算》第二章第四節P43-44涉及到的釋出共享程式碼匯入模組並使用:

一、釋出程式碼:

(一)準備工作:

1.建立資料夾:

D:\mymodule

2.放入釋出所需的檔案

mymodule.py

setup.py

注:mymodule.py是一個模組檔案,其內容就是match_num函式。程式碼如下所示:

 1 def match_num(num):
 2     f=[6,2,5,5,4,5,6,3,7,6]    # 0-9的數字分別需要多少根小棒
 3     if num==0:               # 火柴棒總數變數賦初值
 4         total=f[0]
5 else: 6 total=0 7 while (num>0): 8 x=num % 10 # 取num除以10的餘數,即num的個位數 9 total=total+f[x] # 所需火柴棒數累加 10 num=num//10 #num整除10,即去掉num的個位數 11 return total #返回需要多少根火柴棒數

setup.py檔案包含有關釋出的無資料,程式碼如下:

1 from distutils.core import setup
2 setup(  
3 name ='mymodule', #引數一定要與mymodule.py檔名相同 4 version ='1.0.0', #版本號 5 py_modules =['mymodule'], #引數一定要與mymodule.py檔名相同 6 author='yd', #作者 7 author_email='[email protected]', #作者郵箱 8 description ='計算一個數字需要多少根火柴棒
', #程式碼功能描述 9 )

(二)程式碼釋出:

在DOS命令列中開啟mymodule所在的目錄,構建釋出檔案,具體操作過程如圖所示。

1.在DOS命令列中開啟d:\mymodule目錄。

2.執行python安裝路徑下的:python setup.py sdist

(其中:C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32\ 為python的安裝路徑。)

3.最後將釋出安裝到python本地副本中 ,如圖所示:

執行python安裝路徑下的:python setup.py install

(其中:C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32\為python的安裝路徑。)

4.安裝完成後,mymodule資料夾包含如圖所示的檔案

二、匯入模組並使用:

已經發布的模組必須先匯入程式,然後才能使用。可以使用“import mymodule”匯入,呼叫模組內的函式時用“mymodule.match_num()”來實現。

發現問題:

1、在匯入模組時會出現這樣的錯誤

解決方法:把釋出的模組資料夾放到python 安裝目錄中的site_packages中才可以被引用而不報錯

能成功引用:

匯入模組並使用

1 import mymodule           #匯入模組    
2 snum=6  # 6根火柴棒                   
3 print("你可以拼出這些數字:")
4 for i in range(112):             
5     if mymodule.match_num(i)==snum:        #呼叫模組內match_num()函式
6         print (i)
7 
8 input("執行完畢,請按回車鍵退出...")

出現問題如下:

這個問題怎麼解決呢?已經困擾我兩天了!!!