当我运行时,似乎从python2.7运行并且找不到为python3.4安装的selenium。我是否需要配置行为以在某处运行python3.4 - 我在behave site或其他地方看不到任何内容。有关于使用python 3.4的行为的帖子,所以它是可能的。
以下是我看到的内容:
$ behave
...
File "/usr/local/lib/python2.7/dist-packages/behave/runner.py", line 304, in exec_file
exec(code, globals, locals)
File "features/steps/home_page.py", line 2, in <module>
from selenium import webdriver
ImportError: No module named selenium
我PYTHONPATH
指向python 3.4 / dist-packages:
$ echo $PYTHONPATH
/usr/local/lib/python3.4/dist-packages
$ ls /usr/local/lib/python3.4/dist-packages/selenium
common __init__.py __pycache__ selenium.py webdriver
我的行为安装在/usr/local/lib/pythonX.X/dist-packages
,其中X.X是2.7和3.4
任何帮助都非常感激。
答案 0 :(得分:2)
如果您安装了针对Python 3.x和Python 2.7的行为,则每个安装都将安装在/usr/local/bin/behave
位置启动Behave的脚本。 最后安装的将赢得冲突,因为它将覆盖其他人的文件。 (/usr/local/lib/python<version>/dist-packages
中的文件会很好,因为<version>
在每种情况下都不同。)
解决此问题的一种方法是解决仅在Python 3上安装Behave。卸载Python 2.7版本并重新安装Python 3版本,它应该可以正常工作。
如果您确实需要两个版本用于不同的项目,那么您应该使用virtualenv
为您正在处理的各种项目创建Python安装。这就是我为自己的项目所做的事情。