日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 综合教程 >内容正文

综合教程

探索Python模块自动搜索路径(Python安装rospy模块)

發(fā)布時(shí)間:2023/12/15 综合教程 30 生活家
生活随笔 收集整理的這篇文章主要介紹了 探索Python模块自动搜索路径(Python安装rospy模块) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本篇文章給大家?guī)淼膬?nèi)容是關(guān)于探索Python模塊自動(dòng)搜索路徑,有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)你有所幫助。

最近在學(xué)習(xí)python的C++擴(kuò)展(pybind11),寫完一個(gè)擴(kuò)展模塊之后,想要在自己的環(huán)境中以后都能自動(dòng)導(dǎo)入這個(gè)模塊,而不用手動(dòng)去添加路徑(修改sys.path)應(yīng)該怎么弄?以前最開始學(xué)習(xí)Python的時(shí)候看過這塊內(nèi)容,然而時(shí)間長(zhǎng)了總會(huì)記憶不清,就再回顧了一遍。
概括來說,Python的自動(dòng)搜索路徑是這樣的:


  1. 程序的根目錄

  2. PYTHONPATH環(huán)境變量設(shè)置的目錄

  3. 標(biāo)準(zhǔn)庫(kù)的目錄

  4. 任何能夠找到的.pth文件的內(nèi)容

  5. 第三方擴(kuò)展的site-package目錄


最終,這五個(gè)部分的拼接成為了sys.path,其中第一和第三、第五部分是自動(dòng)定義的。
根目錄(自動(dòng))
Python首先在根目錄搜索要導(dǎo)入的文件。這個(gè)根目錄的入口依賴于你怎么運(yùn)行代碼;當(dāng)你運(yùn)行一個(gè)程序時(shí),這個(gè)入口就是程序運(yùn)行入口(top-level script file)文件所在的目錄;當(dāng)你用交互式窗口期運(yùn)行代碼時(shí),這個(gè)入口就是你所在的工作目錄。
PYTHONPATH 目錄(可配置的)
接下來,python會(huì)搜索PYTHONPATH環(huán)境變量里列出的所有目錄,因?yàn)檫@個(gè)搜索在標(biāo)準(zhǔn)庫(kù)之前,所以要小心不要覆蓋一些標(biāo)準(zhǔn)庫(kù)的同名模塊。
標(biāo)準(zhǔn)庫(kù)目錄(自動(dòng))
這個(gè)沒什么好說的,pyton會(huì)自動(dòng)搜尋標(biāo)準(zhǔn)庫(kù)模塊所在的目錄。
.pth文件列出的目錄(可配置的)
這是用的比較少的一個(gè)python特性。它允許用戶以每行一個(gè)的方式列出搜索路徑,它和PYTHONPATH環(huán)境變量的不同是會(huì)在標(biāo)準(zhǔn)庫(kù)路徑之后搜索;而且它是針對(duì)這個(gè)python安裝的,而不是針對(duì)用戶的(環(huán)境變量會(huì)隨著用戶的不同而不同)。 那么,.pth文件應(yīng)該放在哪里呢?可以通過以下代碼找到.pth文件可以放置的位置:

import site
site.getsitepackages()

登錄后復(fù)制

在我的環(huán)境中,輸出如下:

['C:\\Python27', 'C:\\Python27\\lib\\site-packages']

登錄后復(fù)制

Lib/site-package目錄(自動(dòng))
最后,python會(huì)在搜索路徑上自動(dòng)加上site-packages目錄,這一般是第三方擴(kuò)展安裝的地方,一般是由distutils工具發(fā)布的。

舉例說明

講了這么多,現(xiàn)在我們舉個(gè)小栗子。我的python環(huán)境是windows7 + python 2.7。
1. 首先,我們新建一個(gè)環(huán)境變量PYTHONPATH,在里面加上目錄E:\python_extensions

  1. 然后,我們?cè)?code>C:\Python27目錄下新增一個(gè)add.pth文件,里面的內(nèi)容是: E:\python_extensions2

  2. 最后,我們?cè)?code>E:\python_extensions和E:\python_extensions2目錄下分別新建模塊test.pytest2.py,里面都寫了一個(gè)test方法。
    我們打開交互解釋器,結(jié)果如下:

可以看到,我們可以直接導(dǎo)入這兩個(gè)目錄下的模塊了。查看sys.path:

嗯,這兩個(gè)路徑已經(jīng)自動(dòng)加入sys.path變量了。

總結(jié)

本文簡(jiǎn)要回顧了python的自動(dòng)搜索路徑,以及如何配置一些搜索路徑以使得python在啟動(dòng)時(shí)能夠?qū)⒛承┠夸浖拥剿阉髀窂健.?dāng)然,這些自動(dòng)搜索路徑隨著python版本和實(shí)現(xiàn)的不同會(huì)有細(xì)微差別,但對(duì)于目前的使用來說已經(jīng)夠了。

以上就是探索Python模塊自動(dòng)搜索路徑的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注風(fēng)君子博客其它相關(guān)文章!

總結(jié)

以上是生活随笔為你收集整理的探索Python模块自动搜索路径(Python安装rospy模块)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。