1. 程式人生 > >windows 64bit selenium+python環境搭建

windows 64bit selenium+python環境搭建

1、到python官網下載一個64位的版本 然後直接安裝。

    地址:http://www.python.org/getit/

      (1、)安裝就比較弱智了,機械性的直接下一步就行(可以更換一下安裝路徑)

   (2、)安裝好python後記得配置環境變數(直接將python的主路徑貼在環境變數的path裡面就可以了)

  2、安裝setuptools(有兩個版本,一個是exe檔案但是這個在32位作業系統下好用,但是在64位下不好用,所以我們直接使用另外一種方法)

  1 #!python
  2 """Bootstrap setuptools installation
  3 
  4 If you want to use setuptools in your package's setup.py, just include this
5 file in the same directory with it, and add this to the top of your setup.py:: 6 7 from ez_setup import use_setuptools 8 use_setuptools() 9 10 If you want to require a specific version of setuptools, set a download 11 mirror, or use an alternate download directory, you can do so by supplying
12 the appropriate options to ``use_setuptools()``. 13 14 This file can also be run as a script to install or upgrade setuptools. 15 """ 16 import sys 17 DEFAULT_VERSION = "0.6c11" 18 DEFAULT_URL = "http://pypi.python.org/packages/%s/s/setuptools/" % sys.version[:3] 19 20 md5_data = { 21 '
setuptools-0.6b1-py2.3.egg': '8822caf901250d848b996b7f25c6e6ca', 22 'setuptools-0.6b1-py2.4.egg': 'b79a8a403e4502fbb85ee3f1941735cb', 23 'setuptools-0.6b2-py2.3.egg': '5657759d8a6d8fc44070a9d07272d99b', 24 'setuptools-0.6b2-py2.4.egg': '4996a8d169d2be661fa32a6e52e4f82a', 25 'setuptools-0.6b3-py2.3.egg': 'bb31c0fc7399a63579975cad9f5a0618', 26 'setuptools-0.6b3-py2.4.egg': '38a8c6b3d6ecd22247f179f7da669fac', 27 'setuptools-0.6b4-py2.3.egg': '62045a24ed4e1ebc77fe039aa4e6f7e5', 28 'setuptools-0.6b4-py2.4.egg': '4cb2a185d228dacffb2d17f103b3b1c4', 29 'setuptools-0.6c1-py2.3.egg': 'b3f2b5539d65cb7f74ad79127f1a908c', 30 'setuptools-0.6c1-py2.4.egg': 'b45adeda0667d2d2ffe14009364f2a4b', 31 'setuptools-0.6c10-py2.3.egg': 'ce1e2ab5d3a0256456d9fc13800a7090', 32 'setuptools-0.6c10-py2.4.egg': '57d6d9d6e9b80772c59a53a8433a5dd4', 33 'setuptools-0.6c10-py2.5.egg': 'de46ac8b1c97c895572e5e8596aeb8c7', 34 'setuptools-0.6c10-py2.6.egg': '58ea40aef06da02ce641495523a0b7f5', 35 'setuptools-0.6c11-py2.3.egg': '2baeac6e13d414a9d28e7ba5b5a596de', 36 'setuptools-0.6c11-py2.4.egg': 'bd639f9b0eac4c42497034dec2ec0c2b', 37 'setuptools-0.6c11-py2.5.egg': '64c94f3bf7a72a13ec83e0b24f2749b2', 38 'setuptools-0.6c11-py2.6.egg': 'bfa92100bd772d5a213eedd356d64086', 39 'setuptools-0.6c2-py2.3.egg': 'f0064bf6aa2b7d0f3ba0b43f20817c27', 40 'setuptools-0.6c2-py2.4.egg': '616192eec35f47e8ea16cd6a122b7277', 41 'setuptools-0.6c3-py2.3.egg': 'f181fa125dfe85a259c9cd6f1d7b78fa', 42 'setuptools-0.6c3-py2.4.egg': 'e0ed74682c998bfb73bf803a50e7b71e', 43 'setuptools-0.6c3-py2.5.egg': 'abef16fdd61955514841c7c6bd98965e', 44 'setuptools-0.6c4-py2.3.egg': 'b0b9131acab32022bfac7f44c5d7971f', 45 'setuptools-0.6c4-py2.4.egg': '2a1f9656d4fbf3c97bf946c0a124e6e2', 46 'setuptools-0.6c4-py2.5.egg': '8f5a052e32cdb9c72bcf4b5526f28afc', 47 'setuptools-0.6c5-py2.3.egg': 'ee9fd80965da04f2f3e6b3576e9d8167', 48 'setuptools-0.6c5-py2.4.egg': 'afe2adf1c01701ee841761f5bcd8aa64', 49 'setuptools-0.6c5-py2.5.egg': 'a8d3f61494ccaa8714dfed37bccd3d5d', 50 'setuptools-0.6c6-py2.3.egg': '35686b78116a668847237b69d549ec20', 51 'setuptools-0.6c6-py2.4.egg': '3c56af57be3225019260a644430065ab', 52 'setuptools-0.6c6-py2.5.egg': 'b2f8a7520709a5b34f80946de5f02f53', 53 'setuptools-0.6c7-py2.3.egg': '209fdf9adc3a615e5115b725658e13e2', 54 'setuptools-0.6c7-py2.4.egg': '5a8f954807d46a0fb67cf1f26c55a82e', 55 'setuptools-0.6c7-py2.5.egg': '45d2ad28f9750e7434111fde831e8372', 56 'setuptools-0.6c8-py2.3.egg': '50759d29b349db8cfd807ba8303f1902', 57 'setuptools-0.6c8-py2.4.egg': 'cba38d74f7d483c06e9daa6070cce6de', 58 'setuptools-0.6c8-py2.5.egg': '1721747ee329dc150590a58b3e1ac95b', 59 'setuptools-0.6c9-py2.3.egg': 'a83c4020414807b496e4cfbe08507c03', 60 'setuptools-0.6c9-py2.4.egg': '260a2be2e5388d66bdaee06abec6342a', 61 'setuptools-0.6c9-py2.5.egg': 'fe67c3e5a17b12c0e7c541b7ea43a8e6', 62 'setuptools-0.6c9-py2.6.egg': 'ca37b1ff16fa2ede6e19383e7b59245a', 63 } 64 65 import sys, os 66 try: from hashlib import md5 67 except ImportError: from md5 import md5 68 69 def _validate_md5(egg_name, data): 70 if egg_name in md5_data: 71 digest = md5(data).hexdigest() 72 if digest != md5_data[egg_name]: 73 print >>sys.stderr, ( 74 "md5 validation of %s failed! (Possible download problem?)" 75 % egg_name 76 ) 77 sys.exit(2) 78 return data 79 80 def use_setuptools( 81 version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir, 82 download_delay=15 83 ): 84 """Automatically find/download setuptools and make it available on sys.path 85 86 `version` should be a valid setuptools version number that is available 87 as an egg for download under the `download_base` URL (which should end with 88 a '/'). `to_dir` is the directory where setuptools will be downloaded, if 89 it is not already available. If `download_delay` is specified, it should 90 be the number of seconds that will be paused before initiating a download, 91 should one be required. If an older version of setuptools is installed, 92 this routine will print a message to ``sys.stderr`` and raise SystemExit in 93 an attempt to abort the calling script. 94 """ 95 was_imported = 'pkg_resources' in sys.modules or 'setuptools' in sys.modules 96 def do_download(): 97 egg = download_setuptools(version, download_base, to_dir, download_delay) 98 sys.path.insert(0, egg) 99 import setuptools; setuptools.bootstrap_install_from = egg 100 try: 101 import pkg_resources 102 except ImportError: 103 return do_download() 104 try: 105 pkg_resources.require("setuptools>="+version); return 106 except pkg_resources.VersionConflict, e: 107 if was_imported: 108 print >>sys.stderr, ( 109 "The required version of setuptools (>=%s) is not available, and\n" 110 "can't be installed while this script is running. Please install\n" 111 " a more recent version first, using 'easy_install -U setuptools'." 112 "\n\n(Currently using %r)" 113 ) % (version, e.args[0]) 114 sys.exit(2) 115 except pkg_resources.DistributionNotFound: 116 pass 117 118 del pkg_resources, sys.modules['pkg_resources'] # reload ok 119 return do_download() 120 121 def download_setuptools( 122 version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir, 123 delay = 15 124 ): 125 """Download setuptools from a specified location and return its filename 126 127 `version` should be a valid setuptools version number that is available 128 as an egg for download under the `download_base` URL (which should end 129 with a '/'). `to_dir` is the directory where the egg will be downloaded. 130 `delay` is the number of seconds to pause before an actual download attempt. 131 """ 132 import urllib2, shutil 133 egg_name = "setuptools-%s-py%s.egg" % (version,sys.version[:3]) 134 url = download_base + egg_name 135 saveto = os.path.join(to_dir, egg_name) 136 src = dst = None 137 if not os.path.exists(saveto): # Avoid repeated downloads 138 try: 139 from distutils import log 140 if delay: 141 log.warn(""" 142 --------------------------------------------------------------------------- 143 This script requires setuptools version %s to run (even to display 144 help). I will attempt to download it for you (from 145 %s), but 146 you may need to enable firewall access for this script first. 147 I will start the download in %d seconds. 148 149 (Note: if this machine does not have network access, please obtain the file 150 151 %s 152 153 and place it in this directory before rerunning this script.) 154 ---------------------------------------------------------------------------""", 155 version, download_base, delay, url 156 ); from time import sleep; sleep(delay) 157 log.warn("Downloading %s", url) 158 src = urllib2.urlopen(url) 159 # Read/write all in one block, so we don't create a corrupt file 160 # if the download is interrupted. 161 data = _validate_md5(egg_name, src.read()) 162 dst = open(saveto,"wb"); dst.write(data) 163 finally: 164 if src: src.close() 165 if dst: dst.close() 166 return os.path.realpath(saveto) 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 def main(argv, version=DEFAULT_VERSION): 204 """Install or upgrade setuptools and EasyInstall""" 205 try: 206 import setuptools 207 except ImportError: 208 egg = None 209 try: 210 egg = download_setuptools(version, delay=0) 211 sys.path.insert(0,egg) 212 from setuptools.command.easy_install import main 213 return main(list(argv)+[egg]) # we're done here 214 finally: 215 if egg and os.path.exists(egg): 216 os.unlink(egg) 217 else: 218 if setuptools.__version__ == '0.0.1': 219 print >>sys.stderr, ( 220 "You have an obsolete version of setuptools installed. Please\n" 221 "remove it from your system entirely before rerunning this script." 222 ) 223 sys.exit(2) 224 225 req = "setuptools>="+version 226 import pkg_resources 227 try: 228 pkg_resources.require(req) 229 except pkg_resources.VersionConflict: 230 try: 231 from setuptools.command.easy_install import main 232 except ImportError: 233 from easy_install import main 234 main(list(argv)+[download_setuptools(delay=0)]) 235 sys.exit(0) # try to force an exit 236 else: 237 if argv: 238 from setuptools.command.easy_install import main 239 main(argv) 240 else: 241 print "Setuptools version",version,"or greater has been installed." 242 print '(Run "ez_setup.py -U setuptools" to reinstall or upgrade.)' 243 244 def update_md5(filenames): 245 """Update our built-in md5 registry""" 246 247 import re 248 249 for name in filenames: 250 base = os.path.basename(name) 251 f = open(name,'rb') 252 md5_data[base] = md5(f.read()).hexdigest() 253 f.close() 254 255 data = [" %r: %r,\n" % it for it in md5_data.items()] 256 data.sort() 257 repl = "".join(data) 258 259 import inspect 260 srcfile = inspect.getsourcefile(sys.modules[__name__]) 261 f = open(srcfile, 'rb'); src = f.read(); f.close() 262 263 match = re.search("\nmd5_data = {\n([^}]+)}", src) 264 if not match: 265 print >>sys.stderr, "Internal error!" 266 sys.exit(2) 267 268 src = src[:match.start(1)] + repl + src[match.end(1):] 269 f = open(srcfile,'w') 270 f.write(src) 271 f.close() 272 273 274 if __name__=='__main__': 275 if len(sys.argv)>2 and sys.argv[1]=='--md5update': 276 update_md5(sys.argv[2:]) 277 else: 278 main(sys.argv[1:])
View Code

    (1、)直接將上面這一程式碼複製出來,儲存一下。檔名為ez_setup.py   記得副檔名是py。

    (2、)控制檯中(cmd)直接輸入 python ez_setup.py   (網上直接的資料直接執行ez_setup.py   這樣我沒成功)

        最後結果:

  1. D:\>ez_setup.py
  2. Downloading http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg
  3. Processing setuptools-0.6c11-py2.7.egg
  4. Copying setuptools-0.6c11-py2.7.egg to d:\python27\lib\site-packages
  5. Adding setuptools 0.6c11 to easy-install.pth file
  6. Installing easy_install-script.py script to D:\Python27\Scripts
  7. Installing easy_install.exe script to D:\Python27\Scripts
  8. Installing easy_install.exe.manifest script to D:\Python27\Scripts
  9. Installing easy_install-2.7-script.py script to D:\Python27\Scripts
  10. Installing easy_install-2.7.exe script to D:\Python27\Scripts
  11. Installing easy_install-2.7.exe.manifest script to D:\Python27\Scripts
  12. Installed d:\python27\lib\site-packages\setuptools-0.6c11-py2.7.egg
  13. Processing dependencies for setuptools==0.6c11
  14. Finished processing dependencies for setuptools==0.6c11   

如果你到這裡說明你這個安裝成功了,在你的python安裝目錄下的script目錄中會出現一些檔案接下來繼續在環境變數中新增一些東西,這個是setuptools的環境變數。在path中將e:\python\script(我的路徑)新增進去。

  3、接下來是安裝django

    (1、在控制檯中輸入:easy_install diango  最後結果就是

  1. C:\Users\Biao>easy_install django
  2. Searching for django
  3. Reading http://pypi.python.org/simple/django/
  4. Reading http://www.djangoproject.com/
  5. Reading http://www.djangoproject.com/m/bad-installer.txt
  6. Best match: Django 1.4.2
  7. Downloading https://www.djangoproject.com/m/releases/1.4/Django-1.4.2.tar.gz
  8. Processing Django-1.4.2.tar.gz
  9. Running Django-1.4.2\setup.py -q bdist_egg --dist-dir c:\users\biao\appdata\local\temp\easy_install-tahhsu\Django-1.4.2\egg-dist-tmp-0hpiac
  10. zip_safe flag not set; analyzing archive contents...
  11. django.contrib.admindocs.views: module references __file__
  12. django.contrib.auth.tests.context_processors: module references __file__
  13. django.contrib.auth.tests.forms: module references __file__
  14. django.contrib.auth.tests.views: module references __file__
  15. django.contrib.flatpages.tests.csrf: module references __file__
  16. django.contrib.flatpages.tests.middleware: module references __file__
  17. django.contrib.flatpages.tests.templatetags: module references __file__
  18. django.contrib.flatpages.tests.views: module references __file__
  19. django.contrib.formtools.tests.__init__: module references __file__
  20. django.contrib.formtools.tests.wizard.namedwizardtests.tests: module references __file__
  21. django.contrib.formtools.tests.wizard.wizardtests.tests: module references __file__
  22. django.contrib.gis.geometry.test_data: module references __file__
  23. django.contrib.gis.tests.geo3d.tests: module references __file__
  24. django.contrib.gis.tests.geogapp.tests: module references __file__
  25. django.contrib.gis.tests.layermap.tests: module references __file__
  26. django.contrib.sitemaps.tests.base: module references __file__
  27. django.contrib.staticfiles.storage: module references __file__
  28. django.core.management.sql: module references __file__
  29. django.core.management.templates: module references __path__
  30. django.core.management.__init__: module references __file__
  31. django.core.management.__init__: module references __path__
  32. django.core.management.commands.loaddata: module references __file__
  33. django.core.management.commands.loaddata: module references __path__
  34. django.core.management.commands.makemessages: module references __file__
  35. django.core.servers.basehttp: module references __path__
  36. django.db.utils: module references __file__
  37. django.db.models.loading: module references __file__
  38. django.template.loaders.app_directories: module references __file__
  39. django.test._doctest: module references __file__
  40. django.test._doctest: module MAY be using inspect.getsourcefile
  41. django.utils.autoreload: module references __file__
  42. django.utils.module_loading: module references __path__
  43. django.utils.version: module references __path__
  44. django.utils.translation.trans_real: module references __file__
  45. django.utils.translation.__init__: module references __file__
  46. django.utils.unittest.collector: module references __file__
  47. django.utils.unittest.loader: module references __file__
  48. django.views.i18n: module references __file__
  49. Adding django 1.4.2 to easy-install.pth file
  50. Installing django-admin.py script to D:\Python27\Scripts
  51. Installed d:\python27\lib\site-packages\django-1.4.2-py2.7.egg
  52. Processing dependencies for django
  53. Finished processing dependencies for django
  54. C:\Users\Biao>python
  55. Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win32
  56. Type "help", "copyright", "credits" or "license" for more information.
  57. >>> import django
  58. >>> exit()

django已安裝成功。

  4、接下來就需要安裝numpy(同樣也可以像上面一樣直接:easy_install numpy) 可惜我沒有安裝成功,這倒不是網路問題。最後下載了一個安裝包才安裝成功。

    安裝檔案為: numpy-unoptimized-1.6.2.win-amd64-py2.7.exe。下載完成後直接執行就可以了  同樣的都是直接下一步就可以了。

    同樣的在控制檯中輸入python  然後在控制介面輸入  import numpy   如果沒報錯恭喜你安裝成功。

  5、到這裡基本就成功90%了  接下來我們只需要安裝pip就可以了

    同樣的開啟控制檯在入到 e:\python\script  然後敲入命令 easy_install pip 然後等安裝完成就ok啦

  6、最後一步安裝selenium 

    在控制檯中進入E:\python\script   然後輸入命令:pip install selenium  或者pip install  -U selenium

 最後如果沒有報錯那麼就安裝成功了,趕快去試一下吧!!!!