本文目錄一覽:
- 1、python環境變量的配置
- 2、入門學python需要什麼配置的電腦
- 3、如何進行實現Python配置?
- 4、python如何配置環境變量
- 5、如何進行python項目配置管理?這才是你最需要的python技術
- 6、python中四種配置文件
python環境變量的配置
首先鼠標右鍵此電腦,選擇屬性;然後點擊高級系統設置,點擊環境變量;接着點擊path進行編輯,在path中添加上python的安裝路徑;最後點擊確定。
工具/原料:
windows7系統
python3.9版
DELL G3電腦。
1、右鍵點擊電腦,打開屬性。進去之後,點擊高級系統設置。
2、點擊環境變量。
3、點擊path,進行編輯。
4、在path中添加上python的安裝路徑,這裡是F:\Install\python3.7\,需要注意的是如果要是有pip安裝第三方庫的話,需要添加F:\Install\python3.7\Scripts\到變量中。
5、確定進行保存環境變量配置之後,打開命令提示符,輸入python,按回車鍵看到python版本,代表環境變量配置成功。
入門學python需要什麼配置的電腦
python對於電腦硬件基本沒什麼要求,下載python安裝程序的時候,注意看下自己電腦屬性是64位系統還是32位系統,再下載對應的python安裝程序。
配置要求很低:
現在電腦的各種配置均可以用來學習python,老的賽揚、奔騰4 256 m 內存或者512內存即可,20g以上硬盤。 一般來說能跑動winxp或者linux 就可以。
如何進行實現Python配置?
例如,所有方法名用大寫字母開頭,所有數據屬性名前用一個唯一的字符串開頭(或者只是一個下劃線),或方法名用動詞而數據名用名詞。數據屬性可以被方法引用也可以被普通用戶(“客戶”)引用。換句話說,類不能用來構造抽象數據類型。實際上。Python中沒有任何辦法可以強制進行數據隱藏——這些都是基於慣例。(另一方面,Python的實現是用C寫的,它可以完全隱藏實現細節,必要時可以控制對象存取;用C寫的Python擴展模塊也有同樣特性)。客戶要自己小心使用數據屬性——客戶可能會因為隨意更改類對象的數據屬性而破壞由類方法維護的類數據的一致性。注意客戶只要注意避免名字衝突可以任意為實例對象增加新數據屬性而不需影響到方法的有效性——這裡,有效的命名慣例可以省去許多麻煩。從方法內要訪問本對象的數據屬性(或其它方法)沒有一個簡寫的辦法。我認為這事實上增加了程序的可讀性:在方法定義中不會混淆局部變量和實例變量。習慣上,方法的第一自變量叫做self。這只不過是一個習慣用法:名字self在Python配置中沒有任何特殊意義。但是。因為用戶都使用此慣例,所以違背此慣例可能使其它Python配置不容易讀你的程序,可以想象某些類瀏覽程序會依賴於此慣例)。作為類屬性的任何函數對象都為該類的實例定義一個方法。函數的定義不一定必須在類定義內部:只要在類內把一個函數對象賦給一個局部變量就可以了。例如: class Complex: … def __init__(self, realpart, imagpart): … self.r = realpart … self.i = imagpart … x = Complex(3.0,-4.5) x.r, x.i (3.0, -4.5) 現在f、g和h都是類C的屬性且指向函數對象,所以它們都是C的實例的方法——其中h與g 完全等價。注意我們應該避免這種用法以免誤導讀者。方法可以用代表所屬對象的self自變量來引用本類其它的方法,如: class VirtualAttributes: __vdict = None __vdict_name = locals().keys()[0] def __init__(self): self.__dict__[self.__vdict_name] = {} def __getattr__(self, name): return self.__vdict[name] def __setattr__(self, name, value): self.__vdict[name] = value 方法可以和普通函數一樣地引用全局名字。方法的全局作用域是包含類定義的模塊。(注意類本身並不被用作全局作用域!)雖然我們很少需要在方法中使用全局數據,全局作用域還是有許多合法的用途:例如,導入全局作用域的Python配置和模塊可以被方法使用。在同一模塊中定義的函數和方法也可以被方法使用。包含此方法的類一般也在此全局作用域中定義,下一節我們會看到一個方法為什麼需要引用自己的類!一段需要以某種抽象數據類型作為輸入的Python程序經常可以接受一個類作為輸入,該類只是模仿了應輸入的數據類型的方法。
python如何配置環境變量
python如何配置環境變量
40人貢獻了經驗
查看全部經驗
專註互聯網資訊
2018-11-10 37971人看過
有時候我們在使用python的時候,想配置環境變量,怎麼配置呢,下面來分享一下方法
工具/原料
python 配置環境變量方法
方法/步驟
1/5 分步閱讀
第一步在我們的電腦上鼠標右鍵此電腦,選擇屬性,進去之後,點擊高級系統設置,如下圖所示:
2/5
第二步進去之後,點擊環境變量,如下圖所示:
3/5
第三步進去環境變量界面之後,點擊path,進行編輯,如下圖所示:
4/5
第四步在path中添加上python的安裝路徑,這裡是F:\Install\python3.7\,需要注意的是如果要是有pip安裝第三方庫的話,需要添加F:\Install\python3.7\Scripts\到變量中,如下圖所示:
5/5
第五步點擊確定進行保存環境變量配置之後,打開命令提示符,輸入python,按回車鍵看到python版本,代表環境變量配置成功,如下圖所示:
注意事項
如果你覺得這篇對你有用的話,請投一下票
編輯於2018-11-10,內容僅供參考並受版權保護
贊 踩分享
相關經驗
python兒童-適合7-16歲少兒編程教育平台編程貓
m.codemao.cn廣告
PyCharm安裝教程
06:02
82.4萬人看過
python怎麼設置環境變量
13.3萬人看過
Python如何安裝
00:52
45.3萬人看過
「66元打包Python合集」如何用python視頻+源碼+課件
leyouguoji.com.cn廣告
怎麼查看python安裝路徑
9.6萬人看過
python安裝教程
02:53
8.7萬人看過
python如何設置環境變量
3.8萬人看過
cmd提示pip不是內部或外部命令解決方法
2.7萬人看過
2020python有什麼用人才薪資再創新高 python有什麼用為何越來越火?
m.sxuek.com廣告
python無法用pip命令安裝第三庫解決方法
4.2萬人看過
python怎麼下載
00:38
46.6萬人看過
怎麼使用PyCharm編寫Python程序,簡單教程。
11.0萬人看過
python如何徹底卸載
8.2萬人看過
pycharm怎麼創建項目
01:49
3.0萬人看過
pycharm怎麼打開Python項目文件
5.6萬人看過
Pycharm如何創建項目
1.7萬人看過
怎麼查看python的當前版本號
18.5萬人看過
如何解決運行python指令提示不是內部或外部命令
3.4萬人看過
手把手教你怎麼用Python pip怎麼升級pip?
18.1萬人看過
如何安裝pip?
1.4萬人看過
Anaconda怎麼安裝
00:51
48.1萬人看過
怎麼安裝python的pygame庫文件?
01:37
9.0萬人看過
Pycharm如何給項目配置python解釋器
15.7萬人看過
pycharm怎麼改成中文
4.3萬人看過
pycharm如何導入第三方庫或者模塊
1.6萬人看過
python怎麼安裝第三方庫
3.4萬人看過
PyCharm出現”沒有為項目配置python解釋器”錯誤
5568人看過
python安裝教程
02:53
2436人看過
如何使用cmd命令窗口運行python程序文件
1.2萬人看過
Pycharm如何創建及運行程序?
9501人看過
如何運行python文件
02:41
8008人看過
python初學:如何創建.py模塊並使用
1.3萬人看過
PyCharm安裝如何第三方庫
4147人看過
Pycharm怎麼導入python包
1.2萬人看過
PyCharm中如何安裝第三方庫
6725人看過
Pycharm中如何安裝python庫
13.2萬人看過
pycharm怎麼創建Python文件
3.8萬人看過
Pycharm安裝詳細教程(window版本)
1574人看過
python怎麼運行py文件
02:41
9.8萬人看過
如何去Python官網下載Python安裝包呢
3.0萬人看過
看了必會!最新版Python3.8.2下載與安裝教程
4981人看過
PyCharm項目no python interpreter configured
7.1萬人看過
python如何查看已經安裝過的模塊包
4.5萬人看過
python怎麼做界面
1.4萬人看過
pycharm如何配置編譯器
1.5萬人看過
pycharm怎麼更改字體?pycharm怎麼改中文字體?
1.5萬人看過
Pip怎麼查看已安裝的包?教你查看pip已裝模塊
5.0萬人看過
‘pip’ 不是內部或外部命令 怎麼解決
8.3萬人看過
如何修改PyCharm窗口背景顏色?
5.3萬人看過
如何下載安裝python?
00:41
48.7萬人看過
pycharm設置執行環境
1.5萬人看過
怎麼通過 cmd 來啟動 Python
6464人看過
python第三方庫安裝在哪?
5.3萬人看過
PyCharm安裝教程[TZZ]
06:02
2.7萬人看過
如何在windows上查看python安裝了哪些庫
1.2萬人看過
python怎麼運行py文件
02:41
50.3萬人看過
Python中如何安裝pip?
6.0萬人看過
怎麼查看python安裝的第三方庫
4.2萬人看過
Python | 如何用pip安裝模塊和包
23.2萬人看過
python3.8安裝教程
2.9萬人看過
Python安裝教程
02:53
4169人看過
Win10中安裝Python程序和配置環境
2.3萬人看過
下一篇經驗
分享讓生活更美好
如何進行python項目配置管理?這才是你最需要的python技術
每次開始一個新的 Python 項目,我都會為怎麼管理配置文件而頭疼。不過在遷移我的博客時,終於有空花了點時間,把這件事想清楚。
一年多的時間過去了,一切似乎都很順利,連我在知乎所做的新項目也沿用了該方案,於是決定把解決方案記錄下來。
先說說我要解決什麼哪些Python項目的配置管理問題吧:
可以區分各種環境。
在開發、測試和生產等環境,都可能用到不同的配置,所以能區分它們是一個很基本的需求。
可以有通用的配置項。
各種環境的配置中,需要修改的只佔一小部分。因此通用的部分應該不需要重複定義,否則會帶來維護成本。
可以分成多個部分/模塊。
隨着Python項目的配置管理項的增多,找起配置來會花大量時間,所以劃分它們對維護配置很有幫助。
可以直接使用 Python 代碼。
從文本文件中解析出變量值太麻煩,而且不方便生成批量的數據(例如數組),也不好通過函數調用來生成配置值(例如獲取文件路徑)。
可以將公開和私有的配置文件分開管理。
在開源項目中,應只包含公開的配置項,而不包含私有的配置。不過這個需求對私有項目而言,沒什麼意義。
工作中我先後使用了幾種Python項目的配置管理方式,主要使用的就兩種:
為每個環境分別寫一個配置文件,到相應的環境里,將該環境的配置文件軟鏈接到正確的路徑。
如何進行python項目配置管理?使用分布式的配置服務,從遠程獲取配置。
前者用起來其實蠻麻煩的,特別是想在本地跑單元測試時,需要替換成單元測試環境的配置文件。所以我又把環境變量給加了進來,檢測到指定的環境變量,就加載單元測試的配置。而其他幾個需求也能勉強實現,不過並不優雅。
後者不能直接使用 Python 代碼,網絡不好時需要降級成使用本地緩存,獲取配置服務器的地址需要配置,配置服務器自己也需要配置,而且配置服務器還可能掛掉(知乎內網遇到過全部五台配置服務器都掛掉的情況),所以我用得比較少。
其實仔細想想就能發現,「使用 Python 代碼」也就意味着是 Python 源文件,「有通用的配置項」用 Python 實現就是繼承,似乎沒更好的選擇了。
如何進行python項目配置管理?於是定義一個 Config 類,讓其他環境的配置都繼承這個類:
# config/default.pyclass Config(object):
DEBUG_MODE = True
PORT = 12345
COOKIE_SECRET = ‘default’
REDIS_CONFIG = {‘host’: ‘localhost’, ‘port’: 6379, ‘db’: 0} # …
# config/development.pyfrom .default import Configclass DevelopmentConfig(Config):
COOKIE_SECRET = ‘dev’
# config/unit_testing.pyfrom .default import Configclass UnitTestingConfig(Config):
REDIS_CONFIG = {‘host’: ‘localhost’, ‘port’: 6379, ‘db’: 1}
# config/production.pyfrom .default import Configclass ProductionConfig(Config):
COOKIE_SECRET = ‘…’
REDIS_CONFIG = {‘unix_socket_path’: ‘/tmp/redis.sock’}
為了讓每種環境都只有一個配置生效,還需要加一個策略:[page]
# config/__init__.pyimport loggingimport os
env = os.getenv(‘ENV’) # 可以改成其他名字,自己進行設置try: if env == ‘PRODUCTION’: from .production import
ProductionConfig as CONFIG
logging.info(‘Production config loaded.’) elif env == ‘TESTING’: from .testing import TestingConfig as CONFIG
logging.info(‘Testing config loaded.’) elif env == ‘UNIT_TESTING’: from .unit_testing import UnitTestingConfig as
CONFIG
logging.info(‘Unit testing config loaded.’) else: # 默認使用本地開發環境的配置,省去設置環境變量的環節
from .development import DevelopmentConfig as CONFIG
logging.info(‘Development config loaded.’)except ImportError:
logging.warning(‘Loading config for %s environment failed, use default config instead.’, env or ‘unspecified’)
from .default import Config as CONFIG
這樣只需要在跑應用前,設置不同的環境變量即可。如果是用 Supervisor 維護進程的話,加上一行environment = ENV=”PRODUCTION”配置即可。
當然還可以加其他的規則,例如沒環境變量時,再檢查機器名等。
如何進行python項目配置管理?現在前兩個需求都解決了,再來看分模塊的功能。
這個需求正好對應 Python 的 package,於是把每個Python項目的配置管理文件改成一個 package 即可。接着是如何同時滿足第二和第三個需求。
舉例來說,有這樣的配置:
# config/default.pyclass Config(object):
ROOT_PATH = ‘/’
LOGIN_PATH = ROOT_PATH + ‘login’
SCHEME = ‘http’
DOMAIN = ‘localhost’
ROOT_URL = ‘%s://%s%s’ % (SCHEME, DOMAIN, ROOT_PATH)
# config/production.pyfrom .default import Configclass ProductionConfig(Config):
ROOT_PATH = ‘/blog/’
LOGIN_PATH = ROOT_PATH + ‘login’
DOMAIN = ”
ROOT_URL = ‘%s://%s%s’ % (Config.SCHEME, DOMAIN, ROOT_PATH)
其中,LOGIN_PATH 和 LOGIN_URL 的設置邏輯其實是一樣的,但值卻不同,在 ProductionConfig 中重新賦值一次有點不太優雅。
於是把這些設置提取出來,在基本設置初始化以後,再進行設置:
class _AfterMeta(type):
def __init__(cls, name, bases, dct):
super(_AfterMeta, cls).__init__(name, bases, dct)
cls._after()class Config(object):
__metaclass__ = _AfterMeta
ROOT_PATH = ‘/’
SCHEME = ‘http’
DOMAIN = ‘localhost’ @classmethod
def _after(cls):
cls.LOGIN_PATH = cls.ROOT_PATH + ‘login’
cls.ROOT_URL = ‘%s://%s%s’ % (cls.SCHEME, cls.DOMAIN, cls.ROOT_PATH)
# config/production.pyfrom .default import Configclass ProductionConfig(Config):
ROOT_PATH = ‘/blog/’
DOMAIN = ”
如何進行python項目配置管理?所有有依賴的設置項,都在 _after 方法里賦值即可。
不過這樣可能導致靜態檢查和代碼提示出問題,而且使得所有子類都重新定義這些屬性,即便沒有修改父類的屬性,或是覆蓋掉手動設置的值。所以可以再修改一下:[page]
class _AfterMeta(type):
def __init__(cls, name, bases, dct):
super(_AfterMeta, cls).__init__(name, bases, dct)
cls._after(dct)class Config(object):
__metaclass__ = _AfterMeta
ROOT_PATH = ‘/’
LOGIN_PATH = ROOT_PATH + ‘login’
SCHEME = ‘http’
DOMAIN = ‘localhost’
ROOT_URL = ‘%s://%s%s’ % (SCHEME, DOMAIN, ROOT_PATH) @classmethod
def _after(cls, own_attrs):
if ‘LOGIN_PATH’ not in own_attrs and ‘ROOT_PATH’ in own_attrs:
cls.LOGIN_PATH = cls.ROOT_PATH + ‘login’
if ‘ROOT_URL’ not in own_attrs and (‘SCHEME’ in own_attrs or ‘DOMAIN’ in own_attrs or ‘ROOT_PATH’ in
own_attrs):
cls.ROOT_URL = ‘%s://%s%s’ % (cls.SCHEME, cls.DOMAIN, cls.ROOT_PATH)
雖然問題是解決了,不過代碼量似乎大了點,寫起來很麻煩。只是似乎也沒有更好解決辦法,所幸這類配置並不多,所以重寫一次倒也無妨。
最後只剩下分離公開和私有配置這個需求了。
既然要有私有配置,很容易想到的就是把私有配置放在另一個倉庫里,再 link 到配置文件夾即可:
└── config
├── __init__.py
├── default.py
├── development.py – private/development.py
├── development_sample.py
├── private (cloned from another private repository)
│ ├── development.py
│ └── production.py
├── production.py – private/production.py
└── production_sample.py
為了避免文件被提交到公共倉庫,私有的配置文件可以加到 .gitignore 里。
順帶一提,我的博客數據全存放在 Redis 中,備份時只要備份 rdb 文件即可。不過用另一台服務器來備份顯得太奢侈了,所以我在服務器上裝了個 Dropbox,然後把 Dropbox 文件夾里的數據文件夾 link 到博客的數據文件夾里,即:
doodle
└── data
└── redis – ~/Dropbox/doodle/redis
這樣一旦文件有改動,Dropbox 就會自動進行備份,而且保留了所有的歷史版本,簡直完美。
如何進行python項目配置管理?這才是你最需要的python技術,我用於創建和管理虛擬環境的模塊稱為 venv。venv 通常會安裝你可用的最新版本的 Python。如果您的系統上有多個版本的 Python,你能處理好嗎?如果您還擔心自己入門不順利,那麼本科目的其他文章一定會幫助你。
python中四種配置文件
常用的配置文件後綴是.ini、.conf、.py,當然還有使用.json、.txt的,推薦使用常用的.ini、.py,配置文件的名字一般是config便於理解和使用。
ini配置文件,這類配置文件我們使用內置configparser庫來使用,它可以實現配置文件的寫入、更新、刪除、讀取等操作非常方便,建議使用這種方式。
新建一個config.ini的配置文件內容如下,編碼格式要是 utf-8 以免出錯。:
其中[]中的是section節點,該節點下的等式是option即鍵=值
然後每一行寫一個option ,每個選項就是一個option。直接寫名字,後面加 ” = ” 再加上它的值就行,字符串的表示不要加引號,否則引號也會被解析出來。
可以在配置文件中加入注釋 ,但是注釋必須是單獨的一行,且以 “#” 開頭。只是每次運行時不會讀入注釋,只要運行一次,寫入文件後,所有的注釋都會消失。
config.json文件
使用python內置的 json 標準庫進行解析ini文件。
load() 從json文件中讀取json格式數據
loads() 將字符串類型數據轉化為json格式數據
dump() 將json格式數據保存到文件
dumps() 將json格式數據保存為字符串類型
TOML的語法廣泛地由key = “value”、[節名]、#注釋構成。
支持以下數據類型:字符串、整形、浮點型、布爾型、日期時間、數組和圖表。
config.toml文件
使用外部庫 toml 解析toml文件。
安裝:pip install toml
讀取文件
安裝:
YAML是目前最推薦的配置文件格式。優秀的配置文件標準它幾乎都有:
容易閱讀和修改,支持注釋。
支持豐富的數據類型。
不同格式的明確表達。
yaml使用時需要注意:
yaml強制縮進。雖然不規定具體縮進幾個空格,但是同一級的內容要保持相同的縮進。
冒號後面一定要加空格, 否則無法解析。
python解析 yaml 可以使用pyyaml庫,操作和標準的文件操作非常類似:
得到的data就是解析後的數據,在python當中,它是一個嵌套的字典:
想獲取某一項配置,再通過字典的操作獲取:
config.yaml文件
讀取
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/295817.html