2017-08-21 27 views
0

我有一個小型的Python(2.7)腳本,可以與多個線程一起工作。其中一個線程將讀取全局列表,併爲此列表中的每個條目發佈https請求。在python中導入請求會給出錯誤

爲此,我看到最好的方法是使用python requests模塊。我用pip安裝了它(沒問題,它放在... Python/2.7/site-packages/requests/...中),但是當我在腳本中導入這個模塊時,出現錯誤。

我已經創造了另一個劇本只用一條線(導入請求)重現錯誤,我得到這個:

Traceback (most recent call last): 
    File "req.py", line 1, in <module> 
    import requests 
    File "/Library/Python/2.7/site-packages/requests/__init__.py", line 43, in <module> 
    import urllib3 
    File "/Library/Python/2.7/site-packages/urllib3/__init__.py", line 8, in <module> 
    from .connectionpool import (
    File "/Library/Python/2.7/site-packages/urllib3/connectionpool.py", line 11, in <module> 
    from .exceptions import (
    File "/Library/Python/2.7/site-packages/urllib3/exceptions.py", line 2, in <module> 
    from .packages.six.moves.http_client import (
    File "/Library/Python/2.7/site-packages/urllib3/packages/six.py", line 203, in load_module 
    mod = mod._resolve() 
    File "/Library/Python/2.7/site-packages/urllib3/packages/six.py", line 115, in _resolve 
    return _import_module(self.mod) 
    File "/Library/Python/2.7/site-packages/urllib3/packages/six.py", line 82, in _import_module 
    __import__(name) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 69, in <module> 
    from array import array 
    File "/Users/carlestalenssebastia/Documents/mychip/raspberry pi/array.py", line 3, in <module> 
IndexError: list index out of range 

的Python 2.7.10 的MacBook Pro和MacOS塞拉利昂(V 10.12)

我做錯了什麼?我沒有以正確的方式安裝模塊嗎?

+2

你需要在你的文件夾樹莓pi中重命名名爲'array.py'的文件,它會產生衝突 – PRMoureu

+0

歡迎來到SO:一般來說,你不應該命名你的模塊與python提供的模塊同名。它會產生衝突。如果你必須嘗試,像'my_array'或更好,但更具描述性的東西。 –

+0

聖****。我甚至沒有創建該文件,也許在安裝某些東西時出現錯誤。此外,它是一個.pyc文件,顯然我沒有創建(至少不是故意的)。感謝你們。 – animaldesequia

回答

1

看起來你有兩個同名的模塊array.py 將你的本地array.py模塊重命名爲更獨特的解決方案。

看看this回答關於如何處理這個問題的更多信息,here瞭解更多關於python導入系統如何工作的信息。

+0

是的,我有一個array.pyc(我不知道它是如何創建的),並且在我使用它的文件編輯程序中被隱藏了。一旦我在終端中檢查了它,我將其刪除併成功繼續。 – animaldesequia

+1

PS:+1鏈接到關於python模塊導入系統的小解釋 – animaldesequia