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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

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

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

本篇文章給大家帶來的內容是關于探索Python模塊自動搜索路徑,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

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


  1. 程序的根目錄

  2. PYTHONPATH環境變量設置的目錄

  3. 標準庫的目錄

  4. 任何能夠找到的.pth文件的內容

  5. 第三方擴展的site-package目錄


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

import site
site.getsitepackages()

登錄后復制

在我的環境中,輸出如下:

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

登錄后復制

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

舉例說明

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

  1. 然后,我們在C:\Python27目錄下新增一個add.pth文件,里面的內容是: E:\python_extensions2

  2. 最后,我們在E:\python_extensionsE:\python_extensions2目錄下分別新建模塊test.pytest2.py,里面都寫了一個test方法。
    我們打開交互解釋器,結果如下:

可以看到,我們可以直接導入這兩個目錄下的模塊了。查看sys.path:

嗯,這兩個路徑已經自動加入sys.path變量了。

總結

本文簡要回顧了python的自動搜索路徑,以及如何配置一些搜索路徑以使得python在啟動時能夠將某些目錄加到搜索路徑。當然,這些自動搜索路徑隨著python版本和實現的不同會有細微差別,但對于目前的使用來說已經夠了。

以上就是探索Python模塊自動搜索路徑的詳細內容,更多請關注風君子博客其它相關文章!

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。