【转】Python实践之网络调查系统(四):搭建开发环境 pycharm错误处理
编辑C:\Program Files\JetBrains\PyCharm1.2.1\bin\pycharm.exe.vmoptions
-Xmx256m
2)注册
name:pycharm
===== LICENSE BEGIN =====
61667-12042010
0000285EqkWlIA2ky6BoNqCag!fvO3
j2ICltgk6kiG8IjRMEfE17TsxSr4EF
b60Y9vBcUyQ6y0XdSjYF!b"E7f09oD
===== LICENSE END =====
***************************************************************
各位博友,让大家久等了!这配置实在太纠结了,遇到了各种问题,幸好都一一化解了。
1.操作系统
Windows7旗舰版
2.Java
java1.6.0_14,你可能会奇怪怎么还要安装Java?
3.Python
python2.6,原因:1.版本太新,兼容性不好,解决方案少;2.在redphp空间的python就是2.6的,为了与他保持一致。
安装路径默认就好了!C:/Python26
添加环境变量到PATH后 ;C:\Python26;C:\Python26\Scripts (注意:开头有;,而结尾没有;)
验证安装:cmd下输入:python 显示python的版本就算成功了!
4.Django
django1.3.1,cmd命令行下,进入到django解压后的目录,输入 python setup.py install :
安装后python安装目录就多了django包:
验证安装:成功显示django的版本信息
再将 django的路径添加到环境变量path中:;C:\Python26\Lib\site-packages\django\bin
验证环境变量时候添加成功:
这里有一个问题,.py文件的默认打开方式为python.exe,如果你默认打开是文本编辑器,这个命令也不会有效果,会打开编辑。【Question1】
5.工具
如果你没打算部署django项目,发布到网上,ok,到现在你就可以开始你的项目了!
推荐几个我使用的工具:
1)Total Commander。这个工具集成了操作系统中几乎所有的命令,如果你能熟练使用,无论是编程还是平时的文件操作,效率都会提高很多。还集成了很多工具,FTP等。也可以自己扩展。
2)文本编辑器:SciTE。速度快,支持各种语言的关键字。
3)BCompare:二进制比较工具。有时候你发现自己的程序跟教程一模一样,可还是出错,你就可以用这个工具比较两个文件是不是真的相同!~
4)sqlite数据库工具:我用的SQLiteSpy,还有更好用的,你们推荐一下~
然后来安装eclipse吧
建一个全新的工作空间,目录:d:\workspace\python\
安装PyDev,地址 http://pydev.org/updates/
6.创建项目
1)cmd进入工作空间,输入:django-admin.py startproject tim4lover
验证:启动项目
浏览器中输入:http://127.0.0.1:8000/
成功!
7.创建模块
cmd进入工程目录:输入python manage.py startapp pages
这个模块是各个视图的转发器。
8.用eclipse开发
1)新建项目
2)
3)你会发现目录是这样的:
4)删除tim4lover包
5)项目属性—>PyDev-Django—>把tim4lover/manage.py 改成 manage.py【Question2】
6)修改Pythonpatch—>增加源文件夹
7)运行Django项目:
eclipse环境搭好了,为什么不直接创建?我直接创建的有问题,所以采用这种方式。
9.让admin工作
1)先要配置settings.py,因为里面很多内容需要经常改动,所以新建setting_info.py,里面保存需要改动的变量:
1 2 3 4 5 6 7 8 9 | #encoding:utf-8 import os REL_SITE_ROOT = os.path.dirname(os.path.abspath(__file__)) DATABASE_ENGINE = 'sqlite3' DATABASE_NAME = os.path.join(REL_SITE_ROOT, 'db' , 'tim4lover.db3' ) REL_LANGUAGE_CODE = 'zh-CN' |
1 | |
1 | settings.py: |
1 2 3 | DATABASES = { 'default' : { 'ENGINE' : setting_info.DATABASE_ENGINE, |
1 | 'NAME' : setting_info.DATABASE_NAME, |
1 2 3 4 5 6 | 'USER' : '', # Not used with sqlite3. 'PASSWORD' : '', # Not used with sqlite3. 'HOST' : '', # Set to empty string for localhost. Not used with sqlite3. 'PORT' : '', # Set to empty string for default. Not used with sqlite3. } } |
1 | |
1 | 2 )新建db目录,执行:python manage.py syncdb,输入yes,admin,email,密码 |
1 | |
1 | 3 )修改url.py |
1 |
from django.contrib import admin
admin.autodiscover()
1 | url(r '^admin/' , include(admin.site.urls)), |
1 | 前的注释 |
1 | |
1 | 4 )修改settings.py |
1 | 取消INSTALLED_APPS中 'django.contrib.admin' ,前的注释 |
1 | |
1 | 5 )运行工程,浏览器输入:<a title = "http://127.0.0.1:8000/" href = "http://127.0.0.1:8000/admin/" >http: / / 127.0 . 0.1 : 8000 / admin / < / a> |
1 | <a href = "http://images.cnblogs.com/cnblogs_com/PythonHome/201112/201112032155466126.png" ><img style = "background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title = "image" src = "http://images.cnblogs.com/cnblogs_com/PythonHome/201112/201112032155483453.png" alt = "image" width = "592" height = "443" border = "0" >< / a> |
1 | |
1 | 成功! |
10.写自己的首页
1)url.py
url(r'^$', 'tim4lover.pages.home.index', name='index'),
2)settings.py
TEMPLATE_DIRS = (
###必须填写绝对路径
os.path.join(setting_info.REL_SITE_ROOT,'pages/templates'),
)
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:
'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
'tim4lover.pages',
)
3)pages.home.py
#encoding:utf-8
from django.shortcuts import render_to_response
def index(request):
return render_to_response('index.html')
4)将静态页面index.html拷贝至pages/templates目录下
运行工程测试
11.添加静态文件目录
工程目录下建立static目录,里面放置css、图片、javascript文件
还需要配置settings.py和urls.py
settings.py:
STATICFILES_DIRS = (
os.path.join(setting_info.REL_SITE_ROOT,'static'),
# Put strings here, like "/home/html/static" or "C:/www/django/static".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
)
#静态文件路径
STATIC_PATH = os.path.join(setting_info.REL_SITE_ROOT,'static')
urls.py:
from django.conf import settings
添加 url(r'^static/(?P<path>.*)$','django.views.static.serve',{'document_root': settings.STATIC_PATH}),
运行工程测试
12.安装apache,先在本地部署
1)安装MySQL-python
安装方法跟Django一样。
2)将libguide40.dll、libmmd.dll拷贝至C:\Windows\System32下,将python26.dll也拷贝进去(我出了个错误,说无法import os,就是这个原因【Question3】,搞了两天才搞定)。
3)修改: python 安装目录下文件 /Python26/Lib/sets.py 注释掉 83-85行
#~ import warnings
#~ warnings.warn("the sets module is deprecated", DeprecationWarning,
#~ stacklevel=2)
4)安装apache,这里我安装的是xampp,默认安装路径
5)安装mod_python,注意版本跟你的python版本要一致
6)目录c:\xampp\apache\modules\下,你会发现多了mod_python.so(没有的自己去网上下载)
7)配置c:\xampp\apache\conf\httpd.conf(如果你发现xampp启动不了,说明配置错误)
LoadModule python_module modules/mod_python.so
<Location "/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE tim4lover.settings
PythonOption django.root /tim4lover
PythonDebug On
PythonPath "['d:/workspace/python'] + sys.path"
PythonAutoReload On
</Location>
DocumentRoot "d:/workspace/python"
<Directory "d:/workspace/python">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
8)启动apache,浏览器http://127.0.0.1/ 测试
OK~
当你输入 http://127.0.0.1/admin/ 时,会发现没有css样式了!
将c:\Python26\Lib\site-packages\django\contrib\admin\media文件夹拷贝至d:\workspace\python\tim4lover\static\目录下,并重命名为admin
9)重新启动apache,http://127.0.0.1/admin/ 测试
成功~~~
13.发布到网上
我在redphp有个空间,域名为:http://www.tim4lover.com
目录结构:
1).htaccess文件内容:
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE tim4lover.settings
PythonPath "['/home/u116457/lib/'] + ['/home/u116457/'] + sys.path"
PythonDebug On
2)lib文件夹中放置各种扩展模块,Django等
后来我又尝试弄二级域名,虽然成功了,感觉不好用,就不用了!
实际效果:http://www.tim4lover.com http://www.tim4lover.com/admin