设为首页 收藏本站
查看: 646|回复: 0

[经验分享] eclipse+pydev+django+python+mysql+python-dateutil+pil+setuptools安装

[复制链接]

尚未签到

发表于 2016-10-17 04:59:05 | 显示全部楼层 |阅读模式
  2010年1月27日,为了方便python入门的同学,我把我的配置和经验写下,因为python一来现在热门,二来不同软件件兼容性实在是还有很大问题,所以写下这些东西,对需要配置的同学而言是非常有用的。
  我用的配置版本如下:
  名称:eclipse7.0
  下载地址:http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/galileo/SR1/eclipse-jee-galileo-SR1-win32.zip
  名称:pydev1.5.4
  下载地址:http://pydev.org/download.html#download-current-release-last-version-tag
  名称:Django-1.1.1.tar.gz
  下载地址:http://www.djangoproject.com/download/
  名称:python-2.6.4rc2.msi
  下载地址:http://www.python.org/ftp/python/2.6.4/python-2.6.4.msi
  名称:MySQL-python-1.2.2.win32-py2.6.exe
  下载地址:http://home.netimperia.com/files/misc/MySQL-python-1.2.2.win32-py2.6.exe
  名称:python-dateutil-1.4.1
  下载地址:http://pypi.python.org/pypi/python-dateutil/1.4.1
  名称:PIL-1.1.7.win32-py2.6.exe
  下载地址:http://effbot.org/media/downloads/PIL-1.1.7.win32-py2.6.exe
  名称:setuptools-0.6c11.win32-py2.6.exe
  下载地址:http://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c11.win32-py2.6.exe
 
  
  
python程序包安装指导地址:http://wiki.python.org/moin/CheeseShopTutorial
 
 
 
注意:MySQL-python没有兼容python2.7及其更高版本,同样django也没有一个版本适用于python3.0及其以上版本。对于python2.5而言,可以不用修改直接用python-mysql-1.2.2,只需要将里面的文件全部拷入C:\Python26\Lib\site-packages文件夹内。Django1.1.1不适用与python2.5,如果装上的话会报错。Django1.1.1可以装在python2.6及其以上版本。
 
    有些程序需要用到setuptools工具,setuptools 是一组 Python 的 distutils 工具的增强工具(适用于 Python 2.3.5 以上的版本,64 位平台则适用于 Python 2.4 以上的版本),可以让程序员更方便的创建和发布 Python 包,特别是那些对其它包具有依赖性的状况。所以首先需要安装setuptools,如果不能用以上的windows版本安装,或者不是windows系统,可以用python安装,只需要下载ez_setup.py运行,程序会自动下载合适与本地python的包文件并安装。ez_setup.py下载地址:http://pypi.python.org/packages/any/s/setuptools/setuptools-0.6c11-1.src.rpm
 
       以tar.gz 结尾的压缩包,请用7z解压缩工具(个人认为比winrar好用多了,还是免费的)。
  =================================================================================
  
  eclipse是一个非常优秀的编程IDE,但是十分庞杂,几乎什么类型的语言都支持,我用的是eclipse7.0,安装过程很傻瓜,此处不说。
  =================================================================================
  pydev是一个eclipse的插件,用于eclipse上开发python项目。结合网上安装方法,共计有两种:
  第一种:
   下载后解压,将plugins目录下所有文件挪到Eclipse的相应目录下,将feature目录下所有文件挪到Eclipse的相应目录下,最后启动Eclipse,在Help-》Software Upates-》Manage Configuration,然后弹出的界面即可看到pydev的插件。
 
第二种:
      Help-》Software Upates-》add a site used to access the available software-》然后填写,url填http://pydev.sf.net/updates/-》然后照着提示下载安装即可。不过要等一些时候。
官网上的url: Mirrors:

  • http://pydev.org/updates
          Nightly builds:

  • http://pydev.org/nightly

 
  =================================================================================
django安装前需要安装python和setuptools,按照前面注意事项安装setuptools,然后在命令行窗口中输入:
                                               python setup.py install
django安装是否成功的测试也简单,进入python编辑环境,
输入:import django
然后输入:django.VERSION
如果能够正确显示版本号,则说明成功。
=================================================================================
     在windows下安装python十分简单,我的建议是配置下环境变量,方法是:右键“我的电脑”---》属性---》高级----》环境变量---》选择系统变量中的path,并添加;C:\Python26;C:\Python26\Scripts    注意前面的分号是需要的。
=================================================================================
  

  mysqldb的安装是最有问题的,如果选用python2.5,并用MySQL-python-1.2.2.win32-py2.5.exe安装,那么测试的时候不会出现任何问题,但是如果选用python2.5,用非windows安装方式,使用的是python setup.py install就会报错。
  我选用的是MySQL-python-1.2.2.win32-py2.6.exe和python2.6
  python测试输入:import MySQLdb,会报出:error: Unable to find vcvarsall.bat错误,后来找的是网上的解决方法,网址不记得了,我就把内容贴下吧。
  这几天开始使用python连接mysql,发现这方面python做得不是很好,安装的过程比较麻烦。开始时尝试使用tar.gz包安装,但是发现安装过程会报error: Unable to find vcvarsall.bat的错误,查阅了大量的资料,有的说是需要安装VS,有的说也可以安装mingw,两个都试过,均没有成功,罢了,最后还是下了个MySQL-python-1.2.2.win32-py2.6.exe直接安装。
1.ImportError: DLL load failed: 找不到指定的模块。
—————————————————————————————————-
D:\Program Files\Python2.6>python
Python 2.6.1 (r261:67517, Dec    4 2008, 16:51:00) [MSC v.1500 32 bit (Intel)] on win32
Type help, copyright, creditsor licensefor more information.
>>> import MySQLdb
Traceback (most recent call last):
    File <stdin>, line 1, in <module>
    File D:\Program Files\Python2.6\Lib\site-packages\MySQLdb\__init__.py, line 19, in <module>
      import _mysql
ImportError: DLL load failed: 找不到指定的模块。
—————————————————————————————————-
解决方法:下载libmmd.dll(附件)libguide40.dll(附件)两个dll文件并复制到python安装目录的Lib\site-packages下。
参见:http://sourceforge.net/forum/message.php?msg_id=5613887
2.ImportError: DLL load failed: 找不到指定的模块。
—————————————————————————————————-
D:\Program Files\Python2.6>python
Python 2.6 (r26:66721, Oct    2 2008, 11:35:03) [MSC v.1500 32 bit (Intel)] on win32
Type help, copyright, creditsor licensefor more information.
>>> import MySQLdb
D:\Program Files\Python2.6\lib\site-packages\MySQLdb\__init__.py:34: DeprecationWarning: the sets module is deprecated
    from sets import ImmutableSet
—————————————————————————————————-
解决方法:
1) file __init__, replace:

from sets import ImmutableSet  
class DBAPISet(ImmutableSet):  

with  

class DBAPISet(frozenset)

2) file converters.py, remove:

from sets import BaseSet, Set

3) file converters.py, change Setby set(IMPORTANT: only two places):

line 48: return set([ i for i in s.split(',') if i ])
line 128: set: Set2Str,
 
注:当第三个不做更改的时候,会出现如下错误:
F:\pywork\testFirst>manage.py dbshell
C:\Python26\lib\site-packages\MySQLdb\converters.py:37: DeprecationWarning: th
sets module is deprecated
from sets import BaseSet, Set
'mysql' 不是内部或外部命令,也不是可运行的程序
做了第三步骤,还是有错:
F:\pywork\testFirst>manage.py dbshell
'mysql' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
或批处理文件。
参见:http://sourceforge.net/forum/message.php?msg_id=5808948
附件:
libguide40.dll.zip(77.3 KB)
libmmd.dll.zip(169 KB)
libmySQL.dll.zip(861 KB)
 
 
 
=================================================================================
python连接数据库的代码,也是装贴的:
连接mysql的代码:
# -*- coding: utf-8 -*-
import sys
import MySQLdb
reload(sys)
sys.setdefaultencoding('utf-8')
def getdata ():
      try:
          conn = MySQLdb.connect(host='localhost', user='root', passwd='mysql', db='test', port=3306, charset='utf8')
      except Exception, e:
          print '数据库连接配置错误!'
          print e
          return
      try:
          cur = conn.cursor()
          sql = r'select * from person'
          cur.execute(sql)
          allPerson = cur.fetchall()
      except Exception, e:
          print '数据库操作错误!'
          print e
          return
      for rec in allPerson:
          print rec[0],rec[1]
   
      cur.close()
      conn.close()
if __name__ == '__main__':
      getdata()
代码很明了,没什么好说明的。其中:
reload(sys)
sys.setdefaultencoding('utf-8')
以及数据库连接时的charset设置,是用来解决中文问题的。当然mysql也是utf8编码的。
MYSQLDB的user guide,参见这里;
MYSQLDB的API文档,参见这里;
 
=================================================================================
 
pydev在eclipse的配置如下:
    Pydev的配置在Eclipse IDE下,打开Window->Preferences... 对话框,从右侧的树形列表中选择“PyDev”->“Interpreter Python”,点击New按钮,从Python的安装路径下选择Python.exe,然后会弹出一个对话框让你勾选System PYTHONPATH,我是都选了,应该无所谓。最后点Ok,退出。

进行Django项目开发
1、建立PyDev Project
    Eclipse IDE-》File-》New-》Other-》Pydev-》选择Pydev Project-》起一个项目的名称(例如demo)-》选择路径,如E:\work-》选择适合你的Python版本-》将下面的勾去掉,不要建立src文件-》Finish
2、建立Django Project
(1)django-admin.py startproject demo。
(2)把生成的Django项目目录拷贝到Eclipse刚刚建立的项目下的目录里。回到刚才的Elicpse IDE-》在PyDev Package视图中右键单击新建的项目,从弹出的菜单中选择“Refresh”,即可看到Django的项目工程。添加、删除文件和目录的操作都可以通过右键菜单来完成。
(3)右键单击PyDev项目-》属性-》选择PyDev-》PYTHONPATH-》然后将src目录(项目文件路径)添加到项目代码中去-》确定
 
原帖的第四步骤和我的eclipse有些不一样,我的如下:
(4)右击项目名称,选择run--》选择run configurations--》填写name和选择project和main module,记住main module选择manage.py,如下:
          Project:新建项目;

          Main Module:${workspace_loc:项目名称/manage.py}

          Arguments中,program arguments里填runserver(加入--noreload参数的话,不会自动重新编译settingsurls文件,不加的话debug不能...);
     Iterpreter选择自己的python编译器。
 
原帖第四部分“
(4)对Pydev项目进行配置:选择Pydev的项目名称-》Run菜单-》Open Run Dialog-》Python Run-》右键New-》在Main面板中写入项目名称,通过Browse载入项目名称和Main Module,Main Module选择manage.py-》在Augement面板中,argument必须是runserver --noreload,下面的workingdirectory加入你的base directory。
=================================================================================
manage.py常用命令:
django-admin.py startproject mysite:新建项目。

manage.py runserver IP port:启动django自带服务器。

manage.py shell:启动django后台shell

manage.py startapp appname:建立一个app

manage.py validate:校验模型是否正确。

manage.py sqlall appname:生成create table语句。

manage.py syncdb:为模型生成相应表。

&在看The Django Book那个中文版,一些小问题:

admin页面连接,按照(r'^admin/', include('django.contrib.admin.urls'))的话,报错:

No module named urls

      还有可能是这个错误:

root() takes exactly 3 arguments (2 given)

      目前的格式(1, 0, 'final'),应该是:(r'^admin/(.*)',admin.site.root),原来的urls那个包不在了,而且提交时把admin后面的字符串也当做参数提交出去。

models .CharField内参数名是max_length

Newforms消失了,还是使用django.forms…不了解介个变来变去的干啥,优化了莫~
 
 
 

(完)  

为了您的安全,请只打开来源可靠的网址  打开网站    取消

来自: http://hi.baidu.com/koflance/blog/item/d6abed276feb2b0a4d088d79.html

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-287043-1-1.html 上篇帖子: MySQL索引背后的数据结构及算法原理(转) 下篇帖子: MySQL技术内幕:InnoDB存储引擎读书笔记(中)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表