无法在 Mac OS X 10.11.9 上使用 nsetools

Not able to use nsetools on Mac OS X 10.11.9

我无法在 Mac OS X 10.11.6.

上使用 nsetools
sudo pip install nsetools
Password:
The directory '/Users/debraj/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/Users/debraj/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting nsetools
 Downloading nsetools-1.0.5.tar.gz
Requirement already satisfied: six in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from nsetools)
Installing collected packages: nsetools
 Running setup.py install for nsetools ... done
Successfully installed nsetools-1.0.5

我尝试在没有成为超级用户的情况下安装 nsetools。但它抛出以下错误:-

pip install nsetools
Collecting nsetools
  Downloading nsetools-1.0.5.tar.gz
Requirement already satisfied: six in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from nsetools)
Installing collected packages: nsetools
  Running setup.py install for nsetools ... error
    Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/lp/3q9_2mn51hd9s4yj_jcf3jxm0000gp/T/pip-build-nEc2HK/nsetools/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /var/folders/lp/3q9_2mn51hd9s4yj_jcf3jxm0000gp/T/pip-gh3BsV-record/install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build/lib
    creating build/lib/nsetools
    copying nsetools/__init__.py -> build/lib/nsetools
    copying nsetools/bases.py -> build/lib/nsetools
    copying nsetools/nse.py -> build/lib/nsetools
    copying nsetools/utils.py -> build/lib/nsetools
    running install_lib
    creating /Library/Python/2.7/site-packages/nsetools
    error: could not create '/Library/Python/2.7/site-packages/nsetools': Permission denied

    ----------------------------------------
Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/lp/3q9_2mn51hd9s4yj_jcf3jxm0000gp/T/pip-build-nEc2HK/nsetools/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /var/folders/lp/3q9_2mn51hd9s4yj_jcf3jxm0000gp/T/pip-gh3BsV-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/lp/3q9_2mn51hd9s4yj_jcf3jxm0000gp/T/pip-build-nEc2HK/nsetools/

在尝试使用 nsetools 时出现以下错误:-

python
Python 2.7.11 (default, Jan 22 2016, 16:30:50) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from nsetools import Nse
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Python/2.7/site-packages/nsetools/__init__.py", line 25, in <module>
    from .nse import Nse
  File "/Library/Python/2.7/site-packages/nsetools/nse.py", line 26, in <module>
    import six
ImportError: No module named six

即使我安装了 six:-

sudo -H pip install six
Requirement already satisfied: six in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python

谁能告诉我出了什么问题?

我强烈建议您不要使用 sudo 安装 pip 包,而是阅读有关使用 Python 的虚拟环境的信息,例如 virtualenv or pyenv。如果没有虚拟环境,您将经常遇到您提到的错误。

这应该可以帮助您设置虚拟环境:

$ pip install virtualenv
$ virtualenv your_virtualenv_name
$ source your_virtualenv_name/bin/activate
(your_virtualenv_name) $ pip install nsetools

阅读 this article 以了解有关虚拟环境、它们的目的和用法的概念。