5

当我运行表现时,它似乎从 python2.7 运行并且找不到为 python3.4 安装的 selenium。我是否需要配置行为以在某处运行 python3.4 - 我在行为站点或其他地方什么都看不到。有关于在 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-packagesXX 是 2.7 和 3.4的地方

非常感谢任何帮助。

4

1 回答 1

2

如果您为 Python 3.x 和 Python 2.7 安装behave,则每次安装都会安装在该/usr/local/bin/behave位置启动Behave 的脚本。最后安装的将赢得冲突,因为它将覆盖另一个文件。(进入的文件/usr/local/lib/python<version>/dist-packages会很好,因为<version>每种情况都不同。)

解决此问题的一种方法是仅在 Python 3 上安装 Behave。卸载 Python 2.7 版本并重新安装 Python 3 版本,它应该可以工作。

如果您确实需要不同项目的两个版本,那么您应该使用virtualenv为您正在处理的各种项目创建 Python 安装。这就是我为自己的项目所选择的。

于 2016-05-26T10:40:43.027 回答