windows10+django1.10.1+python3.5项目环境配置
项目背景
由于公司缺少python开发人员,临时被叫去帮几年前一个django框架开发的项目搭环境,自己其实也没有做过django开发,所以走了很多弯路,现在把整个过程记录下来,希望能够帮大家闭坑。
项目文件
交付给我的文件目录如下:
- 项目文件
- pycharm安装包
- pywin32安装包
- python3.5安装包
操作系统环境
- Windows10
搭建步骤
- 安装pycharm,按照网上的安装教程安装好pycharm,找个好用的激活码。
- python3.5的环境我没有用给我的安装包,按照个人习惯,用conda建了个虚拟环境。我这里指定3.5版本默认安装了python3.5.8
conda create --name 自定义名称 python=3.5
- 在pycharm里面设置python解释器,将刚创建好的conda虚拟环境加入到引用路径里面。我个人习惯是用终端启动程序,所以若是第一次安装conda的盆友要注意把conda加入到环境变量里面,不然终端无法识别“conda”这个命令。
- 启动程序
python manage.py runserver
开始报错缺少包的问题。
- 因为我的程序里面用到了channels这个包,然后channels这个包pip自动安装的版本过高,代码变动较大,所以要自己指定版本,以前项目没有写requirement.txt,也没有写README.md,但是还是记录了一些包的版本,然后按照上面写的1.1.3版本安装了channels。如果不知道自己要安装哪个版本的一定要根据自己的代码去看官方手册,channels1.x和channels2.x,3.x差别很大,很多函数都变了。
pip install channels==1.1.3
- 安装django
pip install django==1.10.1
- 运行程序,根据自己的代码会提示很多包未安装,按照提示去官网链接找对应版本,一定不要不指定版本直接pip安装,直接pip安装会导致安装的版本过高,然后为了防止冲突,会自动卸载低版本的django,安装高版本的django,但其实django版本从1.x到2.x差别很大,会产生很多其他的问题。我的解决办法是:我的项目是python3.5,django=1.10.1版本的,2017年的项目,我就去官网找2017年左右的版本,看版本说明,有些会明确说明支持python和django版本。然后"pip install [包名称]==[版本号]",这样安装的一般没有问题。
- 配置SQL Server数据库踩了很多坑,因为网上很多博客说ENGINE要配置为"mssql"或者"sqlserver_pyodbc"。但最后我其实是改成了"sqlserver_ado"才好用。
DATABASES = {
'default': {
'NAME': 'sjllk',
'ENGINE': 'sqlserver_ado',
'HOST': '127.0.0.1',
'USER': 'xx',
'PASSWORD': 'xxxxxxxx',
'OPTIONS' : {
'provider': 'SQLOLEDB',
'use_mars': True,
},
},
'remote': {
'NAME': 'master',
'ENGINE': 'sqlserver_ado',
'HOST': '172.xx.1xx.8',
'USER': 'xx',
'PASSWORD': 'xxxxxxxx
'OPTIONS': {
'provider': 'SQLOLEDB',
'use_mars': True,
},
}
}
- pywin32安装
pip install pywin32==223
将python环境下C:\Users\Administrator\miniconda3\Lib\site-packages\pywin32_system32这个文件夹放到C:\Windows\System32里面。
最开始我是直接安装pywin32,没有指定版本,就报错找不到这个安装包,所以我做了以上两个步骤的修改,由于我没有控制单一变量,其实我不知道是其中一个起作用了还是两个一起起作用了。遇到这个问题的同学可以自己试试。
- 运行成功