2016-12-14 81 views
0

我試圖通過pip來安裝這個軟件包pyowm。但由於某種原因它不起作用。它是一個Ubuntu 16 VM。我已經使用pip來安裝其他軟件包,並且它之前都工作正常,所以我不確定爲什麼這個軟件有問題。pip沒有正確地安裝pyowm由於某種原因

[email protected]:~/.cache/pip$ pip install pyowm 
Collecting pyowm 
Installing collected packages: pyowm 
Exception: 
Traceback (most recent call last): 
    File "/home/ubuntu/.local/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main 
    status = self.run(options, args) 
    File "/home/ubuntu/.local/lib/python2.7/site-packages/pip/commands/install.py", line 342, in run 
    prefix=options.prefix_path, 
    File "/home/ubuntu/.local/lib/python2.7/site-packages/pip/req/req_set.py", line 784, in install 
    **kwargs 
    File "/home/ubuntu/.local/lib/python2.7/site-packages/pip/req/req_install.py", line 851, in install 
    self.move_wheel_files(self.source_dir, root=root, prefix=prefix) 
    File "/home/ubuntu/.local/lib/python2.7/site-packages/pip/req/req_install.py", line 1064, in move_wheel_files 
    isolated=self.isolated, 
    File "/home/ubuntu/.local/lib/python2.7/site-packages/pip/wheel.py", line 345, in move_wheel_files 
    clobber(source, lib_dir, True) 
    File "/home/ubuntu/.local/lib/python2.7/site-packages/pip/wheel.py", line 316, in clobber 
    ensure_dir(destdir) 
    File "/home/ubuntu/.local/lib/python2.7/site-packages/pip/utils/__init__.py", line 83, in ensure_dir 
    os.makedirs(path) 
    File "/usr/lib/python2.7/os.py", line 157, in makedirs 
    mkdir(name, mode) 
OSError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/pyowm-2.5.0.dist-info' 

正如你所見,它認爲我沒有正確的許可。所以我做了這個:

[email protected]:/usr/local/lib/python2.7/dist-packages$ sudo -H pip install pyowm 
Collecting pyowm 
Installing collected packages: pyowm 
Successfully installed pyowm-2.5.0 
You are using pip version 8.1.1, however version 9.0.1 is available. 
You should consider upgrading via the 'pip install --upgrade pip' command. 

但是,當我嘗試調用它發生這種情況:

[email protected]:~/.cache/pip$ python3 
Python 3.5.2 (default, Nov 17 2016, 17:05:23) 
[GCC 5.4.0 20160609] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import pyowm 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named 'pyowm' 
>>> 

所以現在我很迷茫。點子說它完成了這項工作,但是pyowm沒有出現? python 2.7或3.5的結果是一樣的。

而且我可以看到pyowm東西是存在的:

[email protected]:/usr/local/lib/python2.7/dist-packages/pyowm$ pwd 
/usr/local/lib/python2.7/dist-packages/pyowm 
[email protected]:/usr/local/lib/python2.7/dist-packages/pyowm$ ls 
abstractions caches commons constants.py constants.pyc exceptions __init__.py __init__.pyc utils webapi25 

而且我也嘗試升級點子很好,但這個是我得到:

[email protected]:/usr/local/lib$ pip install --upgrade pip 
Requirement already up-to-date: pip in /home/ubuntu/.local/lib/python2.7/site-packages 

[email protected]:/usr/local/lib/python2.7/dist-packages/pyowm$ pip -V 
pip 9.0.1 from /home/ubuntu/.local/lib/python2.7/site-packages (python 2.7) 

所以我非常非常困惑。我在9.0.1版本,但爲什麼早期的cmd輸出顯示我在版本8?爲什麼我突然需要sudo安裝pyowm,昨天我安裝了reportLab而不需要sudo?爲什麼使用sudo安裝後我無法調用pyowm?

回答

0

一個非常有效的問題!

我假設你正在嘗試安裝pyowm for python 3.如果是這樣,你需要使用pip3。 Ubuntu自帶Python 2.7和3.5。

對於Python 2. *:使用pip install pyowm

對於Python 3. *:使用pip3 install pyowm

pip3默認情況下未附帶linux,請使用sudo apt-get install pip3來獲取它。

權限問題很可能是由於您可能不是根,不用擔心!您可以使用命令sudo爲您提供以下命令的root權限。

所以要安裝pyowm,你可以使用:sudo pip3 install pyowm。請特別注意sudo

作爲一個背景,我嘗試了你使用的命令,並得到幾乎完全相同的錯誤。當我跑這個它工作得很好:)

希望這會有所幫助!

相關問題