2016-05-26 24 views
2

運行當我運行表現得好像從python2.7運行,並未能找到硒,它安裝了python3.4。我是否需要配置行爲以在某處運行python3.4 - 在behave site或其他地方我什麼也看不到。有關於使用Python 3.4行爲的帖子,所以它是可能的。Python的表現從python2.7而不是python3.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-包:

$ 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 XX是2.7和3.4

任何幫助非常感謝。

回答

1

如果安裝表現爲Python 3.x和Python 2.7版每次安裝都將是在/usr/local/bin/behave位置開始的行爲腳本。 無論最後安裝哪一個,都將贏得衝突,因爲它會覆蓋另一個文件。 (即去/usr/local/lib/python<version>/dist-packages文件將被罰款,因爲<version>在每種情況下的不同。)

解決這個問題的方法之一是,收於只在Python 3下卸載了Python 2.7版本舞動安裝並重新安裝了Python 3版本,它應該工作。

如果你確實需要這兩個版本不同的項目,那麼你應該使用virtualenv創建您正在使用的各種項目的Python安裝。這就是我爲自己的項目所定下的。

+0

感謝路易斯,你指出了我的答案。我曾嘗試使用pip和pip3進行卸載和重新安裝 - 儘管在pip認爲其行爲已經安裝或卸載時存在一些混淆。所以我首先編輯了「路易斯 – MikeJ

+0

」中的shebang,你指出了我的答案。我曾嘗試卸載並使用pip和pip3重新安裝 - 儘管當pip認爲其行爲已經安裝或卸載了其他版本(不是說誰是困惑,點或我)時出現混淆。所以我首先編輯了'/ usr/local/bin/behave'中的shebang來運行python3,而不是python,它實現了訣竅。後來我得到了卸載/安裝序列的工作,並得到了相同的變化。所以你可能只需編輯「行爲」中的shebang並解決問題。非常感謝。 – MikeJ

相關問題