eclipse+pydev+django+python+mysql+python-dateutil+pil+setuptools安裝

 

 

2010年1月27日,爲了方便python入門的同窗,我把個人配置和經驗寫下,由於python一來如今熱門,二來不一樣軟件件兼容性實在是還有很大問題,因此寫下這些東西,對須要配置的同窗而言是很是有用的。php

我用的配置版本以下:html

名稱:eclipse7.0python

下載地址:http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/galileo/SR1/eclipse-jee-galileo-SR1-win32.zipmysql

名稱:pydev1.5.4程序員

下載地址:http://pydev.org/download.html#download-current-release-last-version-tagsql

名稱:Django-1.1.1.tar.gzshell

下載地址:http://www.djangoproject.com/download/數據庫

名稱:python-2.6.4rc2.msidjango

下載地址: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:
         Nightly builds:

 

=================================================================================

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編碼的。

MYSQLDBuser guide,參見這裏

MYSQLDBAPI文檔,參見這裏

 

=================================================================================

 

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…不瞭解介個變來變去的幹啥,優化了莫~

 

 

 

(完)
相關文章
相關標籤/搜索