selenium python 环境搭建(64位 windows)
之前写了同样的文章,可是后来自己按照给文章再次搭建环境当搭建环境成功后却发现还是无法用。使用from selenium import webdriver,在run的时候却出现ImportError: cannot import name webdriver的提示,但是在Python IDLE里面跑却没有错误,在网上找了很多资料说在控制太中使用import selenium print selenium.__file__去看打印出的文件路径,如果不是下面类似的C:\Python27\lib\site-packages\selenium-2.31.0-py2.7.egg\selenium\__init__.pyc,需要把当前目录下的文件删除或者重命名。我清理注册表反复安装了多次可是还是不行。最后找了很多资料才找到解决的办法,总结了一下大概的原因主要造成的原因是因为系统造成的 主要是我现在电脑是64位的操作系统,python需要的组件中setuptools 目前没有64位的所以这个比较纠结了。最后的解决办法:
1、到python官网下载一个64位的版本 然后直接安装。
地址:http://www.python.org/getit/
(1、)安装就比较弱智了,机械性的直接下一步就行(可以更换一下安装路径)
(2、)安装好python后记得配置环境变量(直接将python的主路径贴在环境变量的path里面就可以了)
2、安装setuptools(有两个版本,一个是exe文件但是这个在32位操作系统下好用,但是在64位下不好用,所以我们直接使用另外一种方法)
- #!python
- """Bootstrap setuptools installation
- If you want to use setuptools in your package's setup.py, just include this
- file in the same directory with it, and add this to the top of your setup.py::
- from ez_setup import use_setuptools
- use_setuptools()
- If you want to require a specific version of setuptools, set a download
- mirror, or use an alternate download directory, you can do so by supplying
- the appropriate options to ``use_setuptools()``.
- This file can also be run as a script to install or upgrade setuptools.
- """
- import sys
- DEFAULT_VERSION = "0.6c11"
- DEFAULT_URL = "http://pypi.python.org/packages/%s/s/setuptools/" % sys.version[:3]
- md5_data = {
- 'setuptools-0.6b1-py2.3.egg': '8822caf901250d848b996b7f25c6e6ca',
- 'setuptools-0.6b1-py2.4.egg': 'b79a8a403e4502fbb85ee3f1941735cb',
- 'setuptools-0.6b2-py2.3.egg': '5657759d8a6d8fc44070a9d07272d99b',
- 'setuptools-0.6b2-py2.4.egg': '4996a8d169d2be661fa32a6e52e4f82a',
- 'setuptools-0.6b3-py2.3.egg': 'bb31c0fc7399a63579975cad9f5a0618',
- 'setuptools-0.6b3-py2.4.egg': '38a8c6b3d6ecd22247f179f7da669fac',
- 'setuptools-0.6b4-py2.3.egg': '62045a24ed4e1ebc77fe039aa4e6f7e5',
- 'setuptools-0.6b4-py2.4.egg': '4cb2a185d228dacffb2d17f103b3b1c4',
- 'setuptools-0.6c1-py2.3.egg': 'b3f2b5539d65cb7f74ad79127f1a908c',
- 'setuptools-0.6c1-py2.4.egg': 'b45adeda0667d2d2ffe14009364f2a4b',
- 'setuptools-0.6c10-py2.3.egg': 'ce1e2ab5d3a0256456d9fc13800a7090',
- 'setuptools-0.6c10-py2.4.egg': '57d6d9d6e9b80772c59a53a8433a5dd4',
- 'setuptools-0.6c10-py2.5.egg': 'de46ac8b1c97c895572e5e8596aeb8c7',
- 'setuptools-0.6c10-py2.6.egg': '58ea40aef06da02ce641495523a0b7f5',
- 'setuptools-0.6c11-py2.3.egg': '2baeac6e13d414a9d28e7ba5b5a596de',
- 'setuptools-0.6c11-py2.4.egg': 'bd639f9b0eac4c42497034dec2ec0c2b',
- 'setuptools-0.6c11-py2.5.egg': '64c94f3bf7a72a13ec83e0b24f2749b2',
- 'setuptools-0.6c11-py2.6.egg': 'bfa92100bd772d5a213eedd356d64086',
- 'setuptools-0.6c2-py2.3.egg': 'f0064bf6aa2b7d0f3ba0b43f20817c27',
- 'setuptools-0.6c2-py2.4.egg': '616192eec35f47e8ea16cd6a122b7277',
- 'setuptools-0.6c3-py2.3.egg': 'f181fa125dfe85a259c9cd6f1d7b78fa',
- 'setuptools-0.6c3-py2.4.egg': 'e0ed74682c998bfb73bf803a50e7b71e',
- 'setuptools-0.6c3-py2.5.egg': 'abef16fdd61955514841c7c6bd98965e',
- 'setuptools-0.6c4-py2.3.egg': 'b0b9131acab32022bfac7f44c5d7971f',
- 'setuptools-0.6c4-py2.4.egg': '2a1f9656d4fbf3c97bf946c0a124e6e2',
- 'setuptools-0.6c4-py2.5.egg': '8f5a052e32cdb9c72bcf4b5526f28afc',
- 'setuptools-0.6c5-py2.3.egg': 'ee9fd80965da04f2f3e6b3576e9d8167',
- 'setuptools-0.6c5-py2.4.egg': 'afe2adf1c01701ee841761f5bcd8aa64',
- 'setuptools-0.6c5-py2.5.egg': 'a8d3f61494ccaa8714dfed37bccd3d5d',
- 'setuptools-0.6c6-py2.3.egg': '35686b78116a668847237b69d549ec20',
- 'setuptools-0.6c6-py2.4.egg': '3c56af57be3225019260a644430065ab',
- 'setuptools-0.6c6-py2.5.egg': 'b2f8a7520709a5b34f80946de5f02f53',
- 'setuptools-0.6c7-py2.3.egg': '209fdf9adc3a615e5115b725658e13e2',
- 'setuptools-0.6c7-py2.4.egg': '5a8f954807d46a0fb67cf1f26c55a82e',
- 'setuptools-0.6c7-py2.5.egg': '45d2ad28f9750e7434111fde831e8372',
- 'setuptools-0.6c8-py2.3.egg': '50759d29b349db8cfd807ba8303f1902',
- 'setuptools-0.6c8-py2.4.egg': 'cba38d74f7d483c06e9daa6070cce6de',
- 'setuptools-0.6c8-py2.5.egg': '1721747ee329dc150590a58b3e1ac95b',
- 'setuptools-0.6c9-py2.3.egg': 'a83c4020414807b496e4cfbe08507c03',
- 'setuptools-0.6c9-py2.4.egg': '260a2be2e5388d66bdaee06abec6342a',
- 'setuptools-0.6c9-py2.5.egg': 'fe67c3e5a17b12c0e7c541b7ea43a8e6',
- 'setuptools-0.6c9-py2.6.egg': 'ca37b1ff16fa2ede6e19383e7b59245a',
- }
- import sys, os
- try: from hashlib import md5
- except ImportError: from md5 import md5
- def _validate_md5(egg_name, data):
- if egg_name in md5_data:
- digest = md5(data).hexdigest()
- if digest != md5_data[egg_name]:
- print >>sys.stderr, (
- "md5 validation of %s failed! (Possible download problem?)"
- % egg_name
- )
- sys.exit(2)
- return data
- def use_setuptools(
- version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir,
- download_delay=15
- ):
- """Automatically find/download setuptools and make it available on sys.path
- `version` should be a valid setuptools version number that is available
- as an egg for download under the `download_base` URL (which should end with
- a '/'). `to_dir` is the directory where setuptools will be downloaded, if
- it is not already available. If `download_delay` is specified, it should
- be the number of seconds that will be paused before initiating a download,
- should one be required. If an older version of setuptools is installed,
- this routine will print a message to ``sys.stderr`` and raise SystemExit in
- an attempt to abort the calling script.
- """
- was_imported = 'pkg_resources' in sys.modules or 'setuptools' in sys.modules
- def do_download():
- egg = download_setuptools(version, download_base, to_dir, download_delay)
- sys.path.insert(0, egg)
- import setuptools; setuptools.bootstrap_install_from = egg
- try:
- import pkg_resources
- except ImportError:
- return do_download()
- try:
- pkg_resources.require("setuptools>="+version); return
- except pkg_resources.VersionConflict, e:
- if was_imported:
- print >>sys.stderr, (
- "The required version of setuptools (>=%s) is not available, and\n"
- "can't be installed while this script is running. Please install\n"
- " a more recent version first, using 'easy_install -U setuptools'."
- "\n\n(Currently using %r)"
- ) % (version, e.args[0])
- sys.exit(2)
- except pkg_resources.DistributionNotFound:
- pass
- del pkg_resources, sys.modules['pkg_resources'] # reload ok
- return do_download()
- def download_setuptools(
- version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir,
- delay = 15
- ):
- """Download setuptools from a specified location and return its filename
- `version` should be a valid setuptools version number that is available
- as an egg for download under the `download_base` URL (which should end
- with a '/'). `to_dir` is the directory where the egg will be downloaded.
- `delay` is the number of seconds to pause before an actual download attempt.
- """
- import urllib2, shutil
- egg_name = "setuptools-%s-py%s.egg" % (version,sys.version[:3])
- url = download_base + egg_name
- saveto = os.path.join(to_dir, egg_name)
- src = dst = None
- if not os.path.exists(saveto): # Avoid repeated downloads
- try:
- from distutils import log
- if delay:
- log.warn("""
- ---------------------------------------------------------------------------
- This script requires setuptools version %s to run (even to display
- help). I will attempt to download it for you (from
- %s), but
- you may need to enable firewall access for this script first.
- I will start the download in %d seconds.
- (Note: if this machine does not have network access, please obtain the file
- %s
- and place it in this directory before rerunning this script.)
- ---------------------------------------------------------------------------""",
- version, download_base, delay, url
- ); from time import sleep; sleep(delay)
- log.warn("Downloading %s", url)
- src = urllib2.urlopen(url)
- # Read/write all in one block, so we don't create a corrupt file
- # if the download is interrupted.
- data = _validate_md5(egg_name, src.read())
- dst = open(saveto,"wb"); dst.write(data)
- finally:
- if src: src.close()
- if dst: dst.close()
- return os.path.realpath(saveto)
- def main(argv, version=DEFAULT_VERSION):
- """Install or upgrade setuptools and EasyInstall"""
- try:
- import setuptools
- except ImportError:
- egg = None
- try:
- egg = download_setuptools(version, delay=0)
- sys.path.insert(0,egg)
- from setuptools.command.easy_install import main
- return main(list(argv)+[egg]) # we're done here
- finally:
- if egg and os.path.exists(egg):
- os.unlink(egg)
- else:
- if setuptools.__version__ == '0.0.1':
- print >>sys.stderr, (
- "You have an obsolete version of setuptools installed. Please\n"
- "remove it from your system entirely before rerunning this script."
- )
- sys.exit(2)
- req = "setuptools>="+version
- import pkg_resources
- try:
- pkg_resources.require(req)
- except pkg_resources.VersionConflict:
- try:
- from setuptools.command.easy_install import main
- except ImportError:
- from easy_install import main
- main(list(argv)+[download_setuptools(delay=0)])
- sys.exit(0) # try to force an exit
- else:
- if argv:
- from setuptools.command.easy_install import main
- main(argv)
- else:
- print "Setuptools version",version,"or greater has been installed."
- print '(Run "ez_setup.py -U setuptools" to reinstall or upgrade.)'
- def update_md5(filenames):
- """Update our built-in md5 registry"""
- import re
- for name in filenames:
- base = os.path.basename(name)
- f = open(name,'rb')
- md5_data[base] = md5(f.read()).hexdigest()
- f.close()
- data = [" %r: %r,\n" % it for it in md5_data.items()]
- data.sort()
- repl = "".join(data)
- import inspect
- srcfile = inspect.getsourcefile(sys.modules[__name__])
- f = open(srcfile, 'rb'); src = f.read(); f.close()
- match = re.search("\nmd5_data = {\n([^}]+)}", src)
- if not match:
- print >>sys.stderr, "Internal error!"
- sys.exit(2)
- src = src[:match.start(1)] + repl + src[match.end(1):]
- f = open(srcfile,'w')
- f.write(src)
- f.close()
- if __name__=='__main__':
- if len(sys.argv)>2 and sys.argv[1]=='--md5update':
- update_md5(sys.argv[2:])
- else:
- main(sys.argv[1:])
(1、)直接将上面这一代码复制出来,保存一下。文件名为ez_setup.py 记得扩展名是py。
(2、)控制台中(cmd)直接输入 python ez_setup.py (网上直接的资料直接运行ez_setup.py 这样我没成功)
最后结果:
- D:\>ez_setup.py
- Downloading http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg
- Processing setuptools-0.6c11-py2.7.egg
- Copying setuptools-0.6c11-py2.7.egg to d:\python27\lib\site-packages
- Adding setuptools 0.6c11 to easy-install.pth file
- Installing easy_install-script.py script to D:\Python27\Scripts
- Installing easy_install.exe script to D:\Python27\Scripts
- Installing easy_install.exe.manifest script to D:\Python27\Scripts
- Installing easy_install-2.7-script.py script to D:\Python27\Scripts
- Installing easy_install-2.7.exe script to D:\Python27\Scripts
- Installing easy_install-2.7.exe.manifest script to D:\Python27\Scripts
- Installed d:\python27\lib\site-packages\setuptools-0.6c11-py2.7.egg
- Processing dependencies for setuptools==0.6c11
- Finished processing dependencies for setuptools==0.6c11
如果你到这里说明你这个安装成功了,在你的python安装目录下的script目录中会出现一些文件接下来继续在环境变量中添加一些东西,这个是setuptools的环境变量。在path中将e:\python\script(我的路径)添加进去。
3、接下来是安装django
(1、在控制台中输入:easy_install diango 最后结果就是
- C:\Users\Biao>easy_install django
- Searching for django
- Reading http://pypi.python.org/simple/django/
- Reading http://www.djangoproject.com/
- Reading http://www.djangoproject.com/m/bad-installer.txt
- Best match: Django 1.4.2
- Downloading https://www.djangoproject.com/m/releases/1.4/Django-1.4.2.tar.gz
- Processing Django-1.4.2.tar.gz
- 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
- zip_safe flag not set; analyzing archive contents...
- django.contrib.admindocs.views: module references __file__
- django.contrib.auth.tests.context_processors: module references __file__
- django.contrib.auth.tests.forms: module references __file__
- django.contrib.auth.tests.views: module references __file__
- django.contrib.flatpages.tests.csrf: module references __file__
- django.contrib.flatpages.tests.middleware: module references __file__
- django.contrib.flatpages.tests.templatetags: module references __file__
- django.contrib.flatpages.tests.views: module references __file__
- django.contrib.formtools.tests.__init__: module references __file__
- django.contrib.formtools.tests.wizard.namedwizardtests.tests: module references __file__
- django.contrib.formtools.tests.wizard.wizardtests.tests: module references __file__
- django.contrib.gis.geometry.test_data: module references __file__
- django.contrib.gis.tests.geo3d.tests: module references __file__
- django.contrib.gis.tests.geogapp.tests: module references __file__
- django.contrib.gis.tests.layermap.tests: module references __file__
- django.contrib.sitemaps.tests.base: module references __file__
- django.contrib.staticfiles.storage: module references __file__
- django.core.management.sql: module references __file__
- django.core.management.templates: module references __path__
- django.core.management.__init__: module references __file__
- django.core.management.__init__: module references __path__
- django.core.management.commands.loaddata: module references __file__
- django.core.management.commands.loaddata: module references __path__
- django.core.management.commands.makemessages: module references __file__
- django.core.servers.basehttp: module references __path__
- django.db.utils: module references __file__
- django.db.models.loading: module references __file__
- django.template.loaders.app_directories: module references __file__
- django.test._doctest: module references __file__
- django.test._doctest: module MAY be using inspect.getsourcefile
- django.utils.autoreload: module references __file__
- django.utils.module_loading: module references __path__
- django.utils.version: module references __path__
- django.utils.translation.trans_real: module references __file__
- django.utils.translation.__init__: module references __file__
- django.utils.unittest.collector: module references __file__
- django.utils.unittest.loader: module references __file__
- django.views.i18n: module references __file__
- Adding django 1.4.2 to easy-install.pth file
- Installing django-admin.py script to D:\Python27\Scripts
- Installed d:\python27\lib\site-packages\django-1.4.2-py2.7.egg
- Processing dependencies for django
- Finished processing dependencies for django
- C:\Users\Biao>python
- Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win32
- Type "help", "copyright", "credits" or "license" for more information.
- >>> import django
- >>> 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
最后如果没有报错那么就安装成功了,赶快去试一下吧!!!!
selenium python 环境搭建(64位 windows)的更多相关文章
- 自动化测试基础篇--Selenium Python环境搭建
学习selenium python需要的工具: 1.浏览器 2.Python 3.Selenium 4.FireBug(Firefox) 5.chromedriver.IEDriverServer.g ...
- 引用 自动化测试基础篇--Selenium Python环境搭建
原文链接:https://www.cnblogs.com/sanzangTst/p/7452922.html 鸣谢参藏法师. 学习selenium python需要的工具: 1.浏览器 2.Pytho ...
- mac下selenium+python环境搭建
selenium2+python的环境搭建主要需要python和selenium 1.python mac下自带了python,可以查看版本.当然可以选择安装其它版本的python. 2.seleni ...
- Android 源码编译环境搭建(64位Ubuntu)各种依赖包安装
1.准备: 普通PC(要求能上网), PC的操作系统Ubuntu 10.04 LTS(64位的),已经下载好的Android 1.6_r1的源代码. 2.Linux的依赖package安装: 为了更快 ...
- selenium python 环境搭建
说真的关于这个网上有太多的文章了,不想在这上面浪费过多的精神,简单说一下: 1.下载python(我的2.7) 2.下载python的基础工具包(setuptools) 3.下载python的安装包管 ...
- selenium+python环境搭建
1.安装python-2.7.3.msi 2.安装pywin32-216.win32-py2.7.exe 3.下selenium包,selenium-2.35.0.tar.gz,放到D:\autote ...
- 解决Tomcat6解压版在64位windows系统上无法启动服务的问题
解决Tomcat6解压版在64位windows系统上无法启动服务的问题 由于客户环境为64位windows系统,开发环境一直用32位.tomcat使用6.0.20非安装版.部署时发现在 ...
- Python+Selenium+webdriver环境搭建(windows)以及相关资源下载链接
今天记录一下测试小菜鸟alter在测试入门的一点关于python+Selenium+webdriver环境搭建的经历以及资源分享.欢迎交流学习,批评指正. 一.Python的下载与安装 1.pytho ...
- Python环境搭建(windows)
Python环境搭建(windows) Python简介 Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/),是一种面向对象.直译式计算机编程语言,具有近二十年的发展历史,成 ...
随机推荐
- [GRYZ2015]工业时代
试题描述 小FF的第一片矿区已经开始运作了, 他着手开展第二片矿区……小FF的第二片矿区, 也是”NewBe_One“计划的核心部分, 因为在这片矿区里面有全宇宙最稀有的两种矿物,科学家称其为NEW矿 ...
- asp.net(class0625)
1 SiteMapPath 面包屑导航控件 要想使用这个控件,必须创建一个站点地图,也就是 web.sitemap web.sitemap是一个xml文件: 根节点必须是:<siteMap> ...
- 纯CSS制作冒泡提示框
来源:http://www.ido321.com/1214.html 前两天翻译了一篇文章,关于利用css的border属性制作基本图形:http://www.ido321.com/1200.html ...
- MFC 解析xml文件
CComVariant IXMLDOMElement http://blog.sina.com.cn/s/blog_69e905cd0100kp5i.html
- 解决A program file was not specified in the launch configuration.问题
问题描述: 在eclipse 中开发c++或c是比较麻烦的事情,刚刚配置好mingw32和cdt和环境变量后,新建一个hello world的c++项目还是会出现问题.主要是在编译的时候会提示 ...
- 从零教你在Linux环境下(ubuntu)如何编译hadoop2.4
问题导读: 1.如果获取hadoop src maven包?2.编译hadoop需要装哪些软件?3.如何编译hadoop2.4?扩展:编译hadoop为何安装这些软件? 本文链接 http://ww ...
- 8086、80x86(IA-32)、64(IA-64)位CPU发展
众所周知,CPU(中央处理单元)是计算机的核心部分,CPU在单位时间内能一次处理的二进制数的位数叫字长,从386.486直到奔腾系列的CPU都是32位,大多数情况32位计算已经能满足现阶段人们的需要. ...
- Jquery EasyUi实战教程布局篇
转自:http://www.kwstu.com/ArticleView/kwstu_20139413501290 送给大家一个非常好的后台布局模板,本人后来就选择了这个模板http://www.kws ...
- ecshop的smarty库还原成smarty原生库方法
写过ecshop模板的人都晓得,他们是用所谓的dwt的文件来嵌套lbi文件进行模板的彼此调用.在咱们调取数据的时分,ecshop的默许模板只提供给咱们几个简略的句子进行调用,那么有没有办法能够把这个精 ...
- PL/pgSQL的 RETURN NEXT例子
从网上找到例子: 可以说,RETURN NEXT要用在循环中: 例子一: 数据准备: CREATE TABLE foo (fooid INT, foosubid INT, fooname TEXT); ...