摘要:當(dāng)進(jìn)入命令行之后,我們運(yùn)行時的運(yùn)行環(huán)境實(shí)際是在目錄下因此解析包就失敗了。解決方法,擴(kuò)展運(yùn)行環(huán)境,把根目錄引入運(yùn)行環(huán)境
最近在用python的flask時候發(fā)現(xiàn)一點(diǎn)問題,代碼組織如下
|-app |-__init__.py |-views.py |-operations.py |-xxx.py |-run.py
按照python的約定,app作為一個包(package),引入到run.py當(dāng)中
from app import app
在app/__init__.py中加入需要引入的包
from app import views,operations,xxx
按照這樣的結(jié)構(gòu)運(yùn)行整個項(xiàng)目是ok的
operations.py 寫了一些后臺任務(wù)的邏輯,其中有一些對象是從__init__.py當(dāng)中引入的
from app import app, db_session, alarm_user, logger
多帶帶運(yùn)行operations.py來調(diào)試一部分代碼時候發(fā)現(xiàn)了問題
if __name__ == "__main__": #print get_password() #print get_replication() print refresh_instance()
在PyCharm當(dāng)中運(yùn)行正常,但在命令行環(huán)境下無法運(yùn)行,會出現(xiàn)如下錯誤:
#python operations.py Traceback (most recent call last): File "operations.py", line 3, infrom app import app, db_session, alarm_user, logger ImportError: No module named app
思索之后發(fā)現(xiàn)了玄機(jī),PyCharm運(yùn)行是以項(xiàng)目的根目錄作為程序運(yùn)行環(huán)境的。當(dāng)進(jìn)入命令行之后,我們運(yùn)行operations.py時的運(yùn)行環(huán)境實(shí)際是在app/目錄下,因此解析app包就失敗了。
解決方法,擴(kuò)展python運(yùn)行環(huán)境,把根目錄引入運(yùn)行環(huán)境
#!/bin/env python # -*- coding: utf-8 -*- import sys sys.path.append("../") from app import app, db_session, alarm_user, logger
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/38010.html
摘要:摘要本文將用戶安裝時遇到的常見問題列舉如下,希望在遇到類似問題時可供借鑒。若不存在,確認(rèn)此問題。安裝后報這通常是由于遇到了依賴問題。上安裝時報嘗試使用上安裝仍然報這是由于系統(tǒng)完整性保護(hù)導(dǎo)致的。此后在終端中運(yùn)行此后再行安裝。 摘要: 本文將用戶安裝 PyODPS 時遇到的常見問題列舉如下,希望在遇到類似問題時可供借鑒。在參考下列步驟之前,請首先嘗試卸載并重裝 PyODPS。卸載的步驟為執(zhí)...
摘要:內(nèi)存池機(jī)制提供了對內(nèi)存的垃圾收集機(jī)制,但是它將不用的內(nèi)存放到內(nèi)存池而不是返回給操作系統(tǒng)。為了加速的執(zhí)行效率,引入了一個內(nèi)存池機(jī)制,用于管理對小塊內(nèi)存的申請和釋放。 注:答案一般在網(wǎng)上都能夠找到。1.對if __name__ == main的理解陳述2.python是如何進(jìn)行內(nèi)存管理的?3.請寫出一段Python代碼實(shí)現(xiàn)刪除一個list里面的重復(fù)元素4.Python里面如何拷貝一個對象?...
摘要:容器迭代器生成器簡單介紹提供了多種數(shù)據(jù)類型來存放數(shù)據(jù)項(xiàng)。如下迭代器可以被函數(shù)調(diào)用并不斷返回下一個值的對象為迭代器,。 python:容器、迭代器、生成器 簡單介紹 python提供了多種數(shù)據(jù)類型來存放數(shù)據(jù)項(xiàng)。之前已經(jīng)介紹了幾個python中常用的容器,分別是列表list、元組tuple、字典dict和集合set。這幾種數(shù)據(jù)結(jié)構(gòu)在Python中是非常重要的部分,尤其是各自的特性部分。掌握...
摘要:安裝安裝用于數(shù)據(jù)科學(xué)的的最佳方法是使用發(fā)行版。但這只是展示了構(gòu)建數(shù)據(jù)科學(xué)問題的不同方式中的機(jī)器學(xué)習(xí)這是一個重要的主題,機(jī)器學(xué)習(xí)正在風(fēng)靡世界,是數(shù)據(jù)科學(xué)家工作的重要組成部分。 作為編程界的頭牌名媛,Python平易近人的態(tài)度和精明婉約的靈動深得各個大佬歡心。比如:人工智能、web開發(fā)、爬蟲、系統(tǒng)運(yùn)維、數(shù)據(jù)分析與計算等等。這幾位風(fēng)流多金的行業(yè)精英隨便哪個都能逆轉(zhuǎn)未來。 本文為你精心準(zhǔn)備了一...
閱讀 3108·2021-09-22 15:54
閱讀 3996·2021-09-09 11:34
閱讀 1778·2019-08-30 12:48
閱讀 1169·2019-08-30 11:18
閱讀 3439·2019-08-26 11:48
閱讀 923·2019-08-23 17:50
閱讀 2125·2019-08-23 17:17
閱讀 1250·2019-08-23 17:12