本文目录一览:
- 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文件
读取