1. 程式人生 > >python關於自定義模組匯入的問題

python關於自定義模組匯入的問題

問題描述

關於自定義模組的問題,之前python2,python3版本問題,匯入的模組的方式不同,在python3可行的模組匯入方法在python2就不能用了,踩了很多坑,也總結出了一套通用的方法來解決這個問題(no model named xxx)

通用的解決方法

當我們匯入一個模組時:import xxx,預設情況下python解析器會搜尋當前目錄、已安裝的內建模組和第三方模組,搜尋路徑存放在sys模組的path中。所以有一下幾種方法新增自定義模組

  • 通過修改path是通用的方法,因為python直譯器就是通過sys.path去一個地方一個地方的尋找模組的。當然這種方法屬於一次性的,只對當前的python直譯器程序有效,關掉python重啟後就失效了
    (推薦)
  • 第二種方法就是去設環境變量了,這個不是一次性的,對其他py檔案也適用,個人不建議這樣做

例子

第一個例子

# 當前指令碼的路徑
curPath = os.path.abspath(os.path.dirname(__file__))
# rootPath是當前指令碼路徑的上級目錄,就是說如果自定義模組xxx在當前指令碼的上級目錄下,那麼rootpath就是自定義模組所在的位置
rootPath = os.path.split(curPath)[0]
# 新增到sys.path中
sys.path.append(rootPath)
import xxx

第二個例子適用相對路徑的方法

# path是當前指令碼路徑的上兩級目錄
path = os.path.abspath(os.path.join(os.path.dirname("__file__"),os.path.pardir,os.path.pardir))
# 新增上兩級目錄(如果自定義模組在上兩級目錄下)
sys.path.append(path)
import xxx

相關推薦

python 定義模組, 將jupyter notebook 作為模組匯入

python的指令碼是不支援匯入.ipynb檔案的, 也就是說在Python指令碼中 import *.ipynb是會出錯的.這裡我們可以曲線救國. 自定義模組的匯入: 在python 安裝路徑尋找 *\Lib\site-packages\ 在裡面新建

python關於定義模組匯入的問題

問題描述 關於自定義模組的問題,之前python2,python3版本問題,匯入的模組的方式不同,在python3可行的模組匯入方法在python2就不能用了,踩了很多坑,也總結出了一套通用的方法來解決這個問題(no model named xxx) 通

python學習筆記——定義模組匯入

一.pycharm的相關知識 Step1:檢視pycharm的執行配置 這是pycharm執行的配置介面,圖中的每個條目的具體意義可以參考:pycharm執行配置說明文件 要注意的是,兩個打勾的條目,裡面提到了兩個名詞content roots和source roots,

一句python,一句R︱列表、元組、字典、資料型別、定義模組匯入(格式、去重)

先學了R,最近剛剛上手python,所以想著將python和R結合起來互相對比來更好理解python。最好就是一句python,對應寫一句R。pandas中有類似R中的read.table的功能,而且很像。———————————————————————————————————

定義模組匯入的實用方法

00一個大坑這個問題是我在使用pycharm中的copy path獲取當前檔案的絕對路徑時遇到。 結果獲取到的路徑如下!!!E:\text1\day24(模組)\模組匯入練習1\當前要執行的檔案.py一開始沒有發現錯在哪裡,直到使用print(__file__) 發現真正的路徑是:E:/text1/d

萬惡之源 - Python 定義模組

自定義模組 我們今天來學習一下自定義模組(也就是私人訂製),我們要自定義模組,首先就要知道什麼是模組啊 一個函式封裝一個功能,比如現在有一個軟體,不可能將所有程式都寫入一個檔案,所以咱們應該分檔案,組織結構要好,程式碼不冗餘,所以要分檔案,但是分檔案,分了5個檔案,每個檔案裡面可能都有相同的功能(函式),

定義模組匯入錯誤

當在python2.7 匯入自定義模組,發生Importerror:No module  named xxx時,可將模組所在路徑拷貝到E:\xxx\python2.7\Lib\site-packages下,再進行匯入則可解決問題。 經過多方的摸索,花了半天時間終於解決了問題

python匯入模組定義模組

模組就是已經開發好的程式碼功能,自己直接匯入進來,直接使用。匯入分為python 或selenium 自帶的模組和自己寫的自定義模組,下面根據這兩個方向寫一下分別匯入的方法。 1.匯入自帶模組import sys #匯入sys模組,呼叫此模組時的方法 print sys.argvfrom sys impor

python動態匯入定義模組

首先,python匯入自定義模組的三種方式: 1.sys.path.append():將包路徑新增進sys.path路徑,直譯器搜尋包時會自動搜尋此路徑 然後import你的路徑 2.利用環境變數:建立

robotframework使用python定義“關鍵字”的兩種方法:匯入庫(LIB)和匯入模組(py檔案)

1、匯入庫,需要把檔案做成包的形式 常見放置在,python主目錄的  \Lib\site-packages下 __init__.py 好處是:適合大規模的開發,包有多人負責,分模組開發,無限擴充套件檔案數量 缺點是:統一歸檔相對麻煩 2、匯入檔案,直

Python匯入定義模組

專案中想使用以前的程式碼,或者什麼樣的需求致使你需要匯入外部的包 如果是web 下,比如說django ,那麼你新建一個app,把你需要匯入的說用東東,都寫到這個app中,然後在setting中的app也配上基本就ok了 如果是原生代碼,可以有幾種方式, 1、這種最簡單,也可能最不實用,將你的外部檔

Python基礎之匯入Python模組+匯入第三方模組+定義模組

Python的模組匯入 Imporp random 匯入模組 Form random import randrange,random 詳細匯入 Import sys,os 多個匯入 匯入第三方模組 使用pip命令安裝 Pip install 模組名 安裝 P

ubuntu下Python匯入定義模組的方法

當在python程式中匯入自定義模組時,若出現“Import Error:no module named xxx”表明系統在python的搜尋路徑(PYTHONPATH)中找不到該模組,需要把該模組新增到python的搜尋路徑中。 要用import mymod

少說話多寫程式碼之Python學習056——標準模組定義模組

我們前面知道了如何匯入外部模組,比如常用的math模組, import math print(math.sin(90)) 輸出 0.8939966636005579 我們也可以自己定義一個模組,比如我的程式都在這個目錄下, 圖1 然後在當前目錄下,再建立一個MyFirstLi

python呼叫定義模組方法

Python模組是一個Python檔案,以.py結尾,包括了Python物件定義和Python語句,能讓Python程式碼段更有邏輯性、更好用、更易懂,既然Python模組有這麼多好處,那麼該如何引用Python模組呢? import語句 自定義模組可以採用import語

Python 定義日誌記錄模組

工具/版本 (1)安裝環境:Windows7 64bit (2)使用版本Python3.6 #!/usr/bin/env python # encoding: utf-8 """ +----------------------------------------

python3匯入定義模組

1、模組概念 在Python中,一個.py檔案就稱之為一個模組(Module)。使用模組組織程式碼,最大的好處是大大提高了程式碼的可維護性 模組一共三種:python標準庫、第三方模組、應用程式自定義模組。 相同名字的函式和變數完全可以分別存在不同的模組中,因此,我們自己在編寫模組時,不必考慮名字會與其

python定義模組的使用

python 內建的模組有很多。當然我們也可以自定義模組然後進行使用 第一步建立一個自定義模組 檔名為 mk.py def add(x,y): return x+y x = 1002 def home(x,y): return x-y 第一種引用 imp

Python基礎筆記_Day09_Python模組定義模組、包、時間模組

Day09_Python模組、自定義模組、包、時間模組 09.01_Python語言基礎(模組概述)(掌握) 09.02_Python語言基礎(匯入模組--import)(掌握) 09.03_Python語言基礎(模組重新命名import...as)(掌握) 09.04_Python語言

匯入定義模組方式及遇到的一個問題

版本:Python 2.7 一、匯入模組 推薦匯入模組方式 用importlib 例項:比如說在資料夾mymodel下有個檔案my_model.py 當前目錄是mymodel所在的目錄,那麼如果該目錄