日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯網營銷解決方案
多個Python項目怎么調用我自己的工具函數?

我把這些工具函數分別放到多個.py文件中。然后把這些.py文件放在一個叫做my_awesome_util的文件夾中。

由于我沒有把這些代碼上傳到Pypi或者Github,因此我每次在新的項目中要使用時,都要把my_awesome_util文件夾復制到新的項目中,非常麻煩,而且會形成大量的重復代碼。

有沒有什么辦法,能讓新開的項目直接就能導入這些工具函數呢?就像導入官方模塊import time一樣,如果我要使用時間相關的工具函數,我只需要import time_util就可以了。

首先要排除的方法,就是手動在代碼里面,通過sys.path添加文件夾。因為這個方法需要在每個項目的入口文件中增加兩行代碼,無法做到全自動。

今天的方法,是在Python的site-packages文件夾中做文章。相信很多同學都知道,任何放到site-packages文件夾里面的.py文件或者文件夾,都可以在Python中直接導入:

看到這里,肯定有同學要問,那是不是把my_awesome_util文件夾整個復制到site-packages文件夾中呢?

當然不是的。因為我的工具包里面的代碼是在持續(xù)演進的,我會經常更新里面的代碼,放到site-packages里面以后,代碼修改起來很不方便。

我們要用到的,是Python的一個特性,叫做.pth文件。在site-packages文件夾中,任意創(chuàng)建一個.pth文件。文件名可以隨便取,只要不跟已有的模塊沖突就可以了。例如叫做xxxx.pth。這個文件里面只有一行,就是my_awesome_util文件夾的絕對路徑。例如:

現在,我在任何一個文件夾中啟動Python,直接就可以導入my_awesome_util文件夾中的任何.py文件:

.pth文件可以有很多行,每行一個文件夾的絕對路徑,就可以讓Python同時導入這些文件夾里面的所有.py文件。

有時候,我們的電腦上有多個虛擬環(huán)境。A環(huán)境有pandas,沒有pymongo;B環(huán)境有pymongo,但沒有pandas?,F在我在B環(huán)境里面要寫一段代碼,既需要pandas,又需要pymongo怎么辦呢?如果不想重新安裝,我可以把A環(huán)境的site-packages文件夾的絕對路徑,寫入到一個.pth文件中,然后把這個文件存放到B環(huán)境的site-packages文件夾中。這樣,我就可以在B環(huán)境里面直接使用A環(huán)境中的所有第三方庫了。

有同學會問,怎么知道site-packages文件夾在哪里呢?其實只需要執(zhí)行下面兩行代碼就能查詢到:

>>> import sysconfig
>>> print(sysconfig.get_path('purelib'))

運行效果如下圖所示:


當前標題:多個Python項目怎么調用我自己的工具函數?
分享網址:http://www.dlmjj.cn/article/cogipgi.html