16

Ubuntu マシンで Python 2.7.6 を実行しています。twill-shターミナルで (Twill は Web サイトのテストに使用されるブラウザーです)を実行すると、次のようになります。

Traceback (most recent call last):
  File "dep.py", line 2, in <module>
    import twill.commands
  File "/usr/local/lib/python2.7/dist-packages/twill/__init__.py", line 52, in <module>
    from shell import TwillCommandLoop
  File "/usr/local/lib/python2.7/dist-packages/twill/shell.py", line 9, in <module>
    from twill import commands, parse, __version__
  File "/usr/local/lib/python2.7/dist-packages/twill/commands.py", line 75, in <module>
    browser = TwillBrowser()
  File "/usr/local/lib/python2.7/dist-packages/twill/browser.py", line 31, in __init__
    from requests.packages.urllib3 import connectionpool as cpl
ImportError: No module named packages.urllib3

ただし、Python コンソールで urllib を問題なくインポートできます。その理由は何ですか?

4

6 に答える 6

24

デフォルトのビルドからすでに「リクエスト」をインストールしている場合は、

sudo pip install --upgrade requests

前の回答に対するコメントから @bkzland へのクレジット:

同じエラーが発生したこれらの手順に従いました。動作させるには、毎回 sudo pip install --upgrade を使用する必要がありました。— bkzland 17 12月. 152015-12-17 12:57:00

---さて、これを setup.py で依存関係にするにはどうすればよいですか?

于 2016-07-28T15:22:34.007 に答える
17

urllib標準とurllib2サードパーティには違いがありurllib3ます。

twill は依存関係をインストールしないように見えるので、自分で行う必要があります。requestsツイルは、付属のライブラリに依存しurllib3、舞台裏で使用されます。ライブラリも必要ですlxmlcssselect

次のように端末にインストールできます。

pip install requests

pip install lxml

pip install cssselect

于 2014-12-12T09:30:35.777 に答える
5

RHEL ベースのフレーバーを使用している場合:

yum install -y python-requests

Debian/Ubuntu ベースのフレーバー:

apt-get install -y python-requests

Arch Linux ベースのフレーバー:

pacman -S python-requests

于 2016-09-16T14:00:11.733 に答える
0

「古い」pythonコマンドでpython 3スクリプトを実行している、つまり、スクリプトを

python3 <script>.py

いいえ

python <script>.py
于 2021-04-09T16:50:51.340 に答える