brew or pip - install credstash - errors - No name

2020-07-25 23:54发布

问题:

Getting the following error on my Mac Terminal window.

$ pip --version
pip 6.1.1 from /Library/Python/2.7/site-packages (python 2.7)

Python version is 2.7.10

While trying to install credstash using brew, I'm getting the following error.

$ `which python` --version && brew update && brew install credstash
Python 2.7.10
Already up-to-date.
Error: No available formula with the name "credstash" 
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
==> Searching taps...
Error: No formulae found in taps.

Got the similar error, when I tried to install pip3 using brew.

Tried installing credstash from pip but that errored out as well.

[arun@MacBook-Pro-2 ~/aks/wspace] $ pip install credstash
You are using pip version 6.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Collecting credstash
  Using cached credstash-1.12.0.tar.gz
Requirement already satisfied (use --upgrade to upgrade): pycrypto>=2.6.1 in /Library/Python/2.7/site-packages (from credstash)
Collecting boto3>=1.1.1 (from credstash)
  Using cached boto3-1.4.2-py2.py3-none-any.whl
Requirement already satisfied (use --upgrade to upgrade): jmespath<1.0.0,>=0.7.1 in /Library/Python/2.7/site-packages (from boto3>=1.1.1->credstash)
Collecting botocore<1.5.0,>=1.4.1 (from boto3>=1.1.1->credstash)
  Using cached botocore-1.4.87-py2.py3-none-any.whl
Collecting s3transfer<0.2.0,>=0.1.0 (from boto3>=1.1.1->credstash)
  Using cached s3transfer-0.1.10-py2.py3-none-any.whl
Collecting python-dateutil<3.0.0,>=2.1 (from botocore<1.5.0,>=1.4.1->boto3>=1.1.1->credstash)
  Using cached python_dateutil-2.6.0-py2.py3-none-any.whl
Collecting docutils>=0.10 (from botocore<1.5.0,>=1.4.1->boto3>=1.1.1->credstash)
  Using cached docutils-0.13.1-py2-none-any.whl
Collecting futures<4.0.0,>=2.2.0 (from s3transfer<0.2.0,>=0.1.0->boto3>=1.1.1->credstash)
  Using cached futures-3.0.5-py2-none-any.whl
Collecting six>=1.5 (from python-dateutil<3.0.0,>=2.1->botocore<1.5.0,>=1.4.1->boto3>=1.1.1->credstash)
  Using cached six-1.10.0-py2.py3-none-any.whl
Installing collected packages: six, python-dateutil, docutils, botocore, futures, s3transfer, boto3, credstash
  Found existing installation: six 1.4.1
    DEPRECATION: Uninstalling a distutils installed project (six) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.
    Uninstalling six-1.4.1:
      Exception:
      Traceback (most recent call last):
        File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 246, in main
          status = self.run(options, args)
        File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 352, in run
          root=options.root_path,
        File "/Library/Python/2.7/site-packages/pip/req/req_set.py", line 687, in install
          requirement.uninstall(auto_confirm=True)
        File "/Library/Python/2.7/site-packages/pip/req/req_install.py", line 730, in uninstall
          paths_to_remove.remove(auto_confirm)
        File "/Library/Python/2.7/site-packages/pip/req/req_uninstall.py", line 126, in remove
          renames(path, new_path)
        File "/Library/Python/2.7/site-packages/pip/utils/__init__.py", line 292, in renames
          shutil.move(old, new)
        File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 302, in move
          copy2(src, real_dst)
        File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 131, in copy2
          copystat(src, dst)
        File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 103, in copystat
          os.chflags(dst, st.st_flags)
      OSError: [Errno 1] Operation not permitted: '/var/folders/z5/37m4q63j3bn48y3dxgf40tdm0000gn/T/pip-LMRqSS-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.egg-info'

IF I don't use sudo in the above command, then I get the following exception error:

OSError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/concurrent'

To get latest pip, as pip is provided via python on macOS, if I try to install python using brew, I'm getting the following, poking into it how I can remove Xcode first:

$ brew install python
Error: Your Xcode (5.0.2) is too outdated.
Please update to Xcode 8.2 (or delete it).
Xcode can be updated from the App Store.

$ pip --version
pip 6.1.1 from /Library/Python/2.7/site-packages (python 2.7)

As I thought I have an older pip version, I download this file:

$ wget https://bootstrap.pypa.io/get-pip.py && sudo python get-pip.py 

Which successfully installed a newer version of pip. Now showing:

$ pip --version
pip 9.0.1 from /Library/Python/2.7/site-packages (python 2.7)

Retried doing pip install credstash but still getting the same error (with or without sudo).

回答1:

I tried the following to get credstash installed.

Downloaded Python3 Mac binary from here.

https://www.python.org/ftp/python/3.5.2/python-3.5.2-macosx10.6.pkg

Installed the .pkg file GUI way.

Opened a Terminal window in Mac.

[arun@MacBook-Pro-2 /tmp] $ which pip
/usr/local/bin/pip

[arun@MacBook-Pro-2 /tmp] $ pip --version
pip 9.0.1 from /Library/Python/2.7/site-packages (python 2.7)

[arun@MacBook-Pro-2 /tmp] $ which python
/usr/bin/python

[arun@MacBook-Pro-2 /tmp] $ python --version
Python 2.7.10

[arun@MacBook-Pro-2 /tmp] $ which python3
/Library/Frameworks/Python.framework/Versions/3.5/bin/python3

[arun@MacBook-Pro-2 /tmp] $ python3 --version
Python 3.5.2

[arun@MacBook-Pro-2 /tmp] $ which pip3
/Library/Frameworks/Python.framework/Versions/3.5/bin/pip3

[arun@MacBook-Pro-2 /tmp] $ pip3 --version
pip 8.1.1 from /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages (python 3.5)
[arun@MacBook-Pro-2 /tmp] $ 

[arun@MacBook-Pro-2 /tmp] $ pip3 install credstash
Collecting credstash
  Using cached credstash-1.12.0.tar.gz
Collecting pycrypto>=2.6.1 (from credstash)
  Using cached pycrypto-2.6.1.tar.gz
Collecting boto3>=1.1.1 (from credstash)
  Using cached boto3-1.4.2-py2.py3-none-any.whl
Collecting s3transfer<0.2.0,>=0.1.0 (from boto3>=1.1.1->credstash)
  Using cached s3transfer-0.1.10-py2.py3-none-any.whl
Collecting botocore<1.5.0,>=1.4.1 (from boto3>=1.1.1->credstash)
  Using cached botocore-1.4.87-py2.py3-none-any.whl
Collecting jmespath<1.0.0,>=0.7.1 (from boto3>=1.1.1->credstash)
  Using cached jmespath-0.9.0-py2.py3-none-any.whl
Collecting docutils>=0.10 (from botocore<1.5.0,>=1.4.1->boto3>=1.1.1->credstash)
  Downloading docutils-0.13.1-py3-none-any.whl (536kB)
    100% |████████████████████████████████| 542kB 1.3MB/s 
Collecting python-dateutil<3.0.0,>=2.1 (from botocore<1.5.0,>=1.4.1->boto3>=1.1.1->credstash)
  Using cached python_dateutil-2.6.0-py2.py3-none-any.whl
Collecting six>=1.5 (from python-dateutil<3.0.0,>=2.1->botocore<1.5.0,>=1.4.1->boto3>=1.1.1->credstash)
  Using cached six-1.10.0-py2.py3-none-any.whl
Installing collected packages: pycrypto, docutils, six, python-dateutil, jmespath, botocore, s3transfer, boto3, credstash
  Running setup.py install for pycrypto ... done
  Running setup.py install for credstash ... done
Successfully installed boto3-1.4.2 botocore-1.4.87 credstash-1.12.0 docutils-0.13.1 jmespath-0.9.0 pycrypto-2.6.1 python-dateutil-2.6.0 s3transfer-0.1.10 six-1.10.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.
[arun@MacBook-Pro-2 /tmp] $ 
[arun@MacBook-Pro-2 /tmp] $ which credstash
/Library/Frameworks/Python.framework/Versions/3.5/bin/credstash
[arun@MacBook-Pro-2 /tmp] $


回答2:

If you're trying to install to system Python then you need sudo. If you want to just play around, look into creating a virtualenv and install there. http://docs.python-guide.org/en/latest/dev/virtualenvs/