python安装过程中一些小知识点

1.做些软链接和virtualenv的基本使用:

ln -s /data/linkdood/im/vrv/python36/bin/python3.6 /usr/bin/python3
ln -s /data/linkdood/im/vrv/python36/bin/pip3.6 /usr/bin/pip
ln -s /data/linkdood/im/vrv/python36/bin/virtualenv /usr/bin/virtualenv
virtualenv /data/my_env1 -p /usr/bin/python3  创建
source /data/my_env1/bin/activate  激活
deactivate 熄火
rmvirtualenv project_env 删除
pip freeze
pip install Django
import django
django.VERSION

2.初始化数据库

python manage.py migrate

报错:django.db.utils.NotSupportedError: URIs not supported

版本问题,sqlite3.7.5竟然没有URLs文件,sqlite3 -version  我的版本是3.6.20,更低,直接舍弃,转用MySQL(Linux环境)

DATABASES = {
	‘default‘: {
		‘ENGINE‘: ‘django.db.backends.mysql‘,
		‘NAME‘: ‘information‘,
		‘USER‘: ‘用户‘,
		‘PASSWORD‘: ‘加过密的密码‘,
		‘HOST‘: ‘127.0.0.1‘,
		‘PORT‘: ‘11306‘,
	}
}

再执行,报错:django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.Did you install mysqlclient?

你认为这是让你去安装mysqlclient么?

这是让你去装python连接mysql数据库的驱动程序,首先,需要安装mysql的开发包

rpm -qa | grep mysql-devel
yum install mysql-devel
#python2.7:
sudo pip install MySQLdb
#python3.4:
sudo pip install PyMySQL
安装完成之后还是报这个错,
在Django中,连接数据库时使用的是 MySQLdb 库,这在与 python3 的合作中就会报刚才的错
解决办法:在 __init__.py 文件中添加以下代码即可
import pymysql
pymysql.install_as_MySQLdb()

再执行,报错: django.db.utils.InternalError: (1049, "Unknown database ‘information‘")

这是因为数据库中没有这个表

create database information;
show grants;
查看当前用户拥有的权限,按理说这个django项目应该只拥有这一个表的权限:
grant all on information.* to [email protected] identified by ‘django‘;

3.解决无法访问的问题:

nohup python manage.py runserver 172.16.8.128:10000 &
启动后由于防火墙阻挡,添加策略:
iptables -I INPUT 3 -p tcp -m multiport --dports 10000,10001,10002 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -I OUTPUT 3 -p tcp -m multiport --dports 10000,10001,10002 -m state --state NEW,ESTABLISHED -j ACCEPT
用-A添加到末尾还不行,因为第六条策略将匹配不到的全部拒绝,所以得用-I插队到第三条
访问时,因为没有用127.0.0.1,所以报错:
Invalid HTTP_HOST header:You may need to add ‘202.201.38.70‘ to ALLOWED_HOSTS.
可以用下面的两种方式任意一个:
ALLOWED_HOSTS = [‘172.16.8.128‘, ‘localhost‘, ‘127.0.0.1‘]
ALLOWED_HOSTS = [‘172.16.8.128‘]

4.时间问题:

auto_now无论是你添加还是修改对象,时间为你添加或者修改的时间,

auto_now_add为添加时的时间,更新对象时不会有变动。

from show.models import company

a=company.objects.create(name="中国建设银行003",identify="003")

数据库里的时间差8个小时,需要注释一行,修改一行,添加一行:

# TIME_ZONE = ‘UTC‘
TIME_ZONE = ‘Asia/Shanghai‘
将True改为False
USE_TZ = False

将数据库中的时间格式化为常见格式:用python的方式这么实现:

a.date.strftime( ‘%Y-%m-%d %H:%M:%S‘ )

模板内置date这么玩:{{ date | date:"Y-m-d H:i:s" }}

5.在Django中如何正确完整地删除一个App(这个我没试过)

1.删除models.py
无论是删除一个单独的model还是删除整个App,都需要首先删除models.py文件中的模型。
./manage.py migrate your_app_name zero
删除models.py中的数据模型。
2.删除整个App文件夹
在settings.py的Installed Apps中移除该app。
在urls.py中移除该App相关内容。

6.virtualenvwrapper的基本使用

1.把所有的虚拟环境都放在一个地方;2.包装用于管理虚拟环境(创建,删除,复制);3.使用一个命令来环境之间进行切换。

pip install virtualenvwrapper
export WORKON_HOME=~/Envs  #设置环境变量
mkdir -p $WORKON_HOME #创建虚拟环境管理目录
find / -name virtualenvwrapper.sh #找到virtualenvwrapper.sh的路径
source 路径 #激活virtualenvwrapper.sh
可能会报错:VIRTUALENVWRAPPER_PYTHON=/usr/bin/python...bulabula,python指向出错
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
重新source  virtualenvwrapper
virtualenvwrapper.user_scripts creating /root/Envs/premkproject
...会创建一大堆命令
lsvirtualenv    #列举所有的环境。
cdvirtualenv    #导航到当前激活的虚拟环境的目录中,能够浏览它的 site-packages。
cdsitepackages   # 直接进入到 site-packages 目录中。

每次要想使用virtualenvwrapper 工具时,都必须先激活virtualenvwrapper.sh,另外,如果创建前要将虚拟环境保存到Envs中,就要先设置一下环境变量:export WORKON_HOME=~/Envs,再搭建。貌似必须搭建到这个~/Envs目录下,要不然管理不到。

7.Django几个小点:

①模板中自定义style中class用点号‘.‘,id用‘#‘

②values方法可以获取number字段的字典列表;values_list可以获取number的元组列表。

values_list方法加个参数flat=True可以获取number的值列表。

③models中有用到choices的,想在模板中获取到它对应的中文,用--obj.get_字段名称_display。

原文地址:https://www.cnblogs.com/fawaikuangtu123/p/9728973.html

时间: 2024-11-09 05:59:30

python安装过程中一些小知识点的相关文章

Linux学习笔记(1)Linux虚拟机安装过程中的知识点及常用管理工具

1. VMware的相关知识 (1)建议的VMware的配置: CPU 主频1GHz以上 内存 1GB以上 硬盘 分区空闲空间8GB以上 (2)VMware创建快照 快照的作用是保存虚拟机的现有状态,以便以后可返回到相同状态.快照的特点是:① 可以快速启动虚拟机:② 虚拟机系统崩溃时,可以快速恢复. 创建快照的方法是,点击VMware工具栏上的标志,然后填写快照名称,如下图所示: 恢复快照的方法是单击VMware工具栏上的标志,选择弹出的对话框中创建的快照,然后单击"转到"按钮,即可打

记录神经网络中一些小知识点

记录神经网络中一些小知识点 1 Caffe中的blob维度 Caffe中的blob具有4个维度,分别是num,channel,width和height: 其中我们在定义各个网络层时,常用到的一个参数numout,就是指定的channel: 比如说,维度为1*3*5*5的数据输入网络(即每次输入一张5*5大小的3通道图),经过一个stride为2,pad为1,kernel为2,numout为2的卷积层后,维度就变成了1*2*3*3: 假如输入有n个通道,计算时,caffe就会对应产生n个filte

利用JQ实现的,高仿 彩虹岛官网导航栏(学习HTML过程中的小记录)

利用JQ实现的,高仿 彩虹岛官网导航栏(学习HTML过程中的小记录)   作者:王可利(Star·星星) 总结: 今天学习的jQ类库的使用,代码重复的比较多需要完善.严格区分大小写,在 $("").css()   这里css是小写的,用 HBuilder 编写补全是大写的..这里要注意 主要使用的方法:jQuery 隐藏 / 显示    jQuery 淡出淡入 需要注意的知识点: 效果的样式: 代码如下:(亲们 自己展开拉~) 1 <!DOCTYPE html> 2 <

Inno Setup入门(二)&mdash;&mdash;修改安装过程中的图片

修改安装过程中的图片 一般编译之后,安装过程中出现在左边图片是是下图这个样子的: 其实也可以修改它,只需要在setup段中作一点稍微的修改,加一行代码即可: [setup] AppName=Test AppVerName=TEST DefaultDirName="E:\TEST" AppVersion=1.0 WizardImageFile=dh.bmp [files] Source: "F:\desktop\ipmsg.exe"; DestDir: "{

【RAC】 RAC For W2K8R2 安装--安装过程中碰到的问题(九)

[RAC] RAC For W2K8R2 安装--安装过程中碰到的问题(九) 一.1  BLOG文档结构图 一.2  前言部分 一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① RAC for windows 2008R2 的安装 ② rac环境下共享存储的规划和搭建 ③ starwind软件的应用 ④ VMware workstation 如何做共享存储 ⑤ rac数据的静默安装和dbca静默建库 ⑥ rac数据

(转)Inno Setup入门(二)——修改安装过程中的图片

本文转载自:http://blog.csdn.net/augusdi/article/details/8564793 修改安装过程中的图片 一般编译之后,安装过程中出现在左边图片是是下图这个样子的: 其实也可以修改它,只需要在setup段中作一点稍微的修改,加一行代码即可: [setup] AppName=Test AppVerName=TEST DefaultDirName="E:\TEST" AppVersion=1.0 WizardImageFile=dh.bmp [files]

linux环境下的python安装过程(含setuptools)

这里我不想采用诸如ubuntu下的apt-get install方式进行python的安装,而是在linux下采用源码包的方式进行python的安装. 一.下载python源码包 打开ubuntu下的shell终端,通过wget命令下载python源码包,如下图所示: 将python-2.7.3.tgz下载至/opt目录下. 二.python的解压 三.python的编译与安装 在对python进行编译之前,必须对它进行配置.在unix/linux平台上的安装过程中,配置和编译过程全部已经自动化

SQL安装过程中“针对SQL Server 注册表的一致性验证“出错解决方式

1.打开注册表,查找到[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\0804],分别打开Counter 和Help 2.打开Counter,把滚动条拉倒最后,然后记下最大的那个值(不同计算机不一样的),记下后关闭窗口 3.同样的打开Help,滚动到最后记最大的那个值(你们的值不一定跟我一样的哦!!!),记下后关闭窗口 4,再重新定位到Perflib的节点上, 5.双击Last Counter然后在

20170514002Oracle 11g R2安装过程中遇到的报错及解决办法

Oracle 11g R2安装过程中遇到的报错及解决办法 1.提示Check if the DISPLAYvariable is set.    Failed<<<< 解决方案: #xhost +  //切换到root用户输入 #su – Oracle  //切换到oracle用户 $./runInstaller  //执行安装程序 xhost 是用来控制X server访问权限的. 通常当你从hostA登陆到hostB上运行hostB上的应用程序时, 做为应用程序来说,hostA