没有名为 sh 的模块

Kui*_*ang 5 python pip python-2.7

我安装了sh原生Python,并开始使用命令来安装:

$ pip install sh
  Collecting sh
  Could not fetch URL https://pypi.python.org/simple/sh/: There was a problem confirming the ssl 
  certificate: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590) - skipping
  Could not find a version that satisfies the requirement sh (from versions: )
  No matching distribution found for sh
Run Code Online (Sandbox Code Playgroud)

当上述失败时,我下载sh-1.12.14-py2.py3-none-any.whl安装到本地:

$ pip install
/Users/zhangkuixun/Downloads/sh-1.12.14-py2.py3-none-any.whl
Requirement
'/Users/zhangkuixun/Downloads/sh-1.12.14-py2.py3-none-any.whl' looks
like a filename, but the file does not exist
Processing ./Downloads/sh-1.12.14-py2.py3-none-any.whl
Exception: 

Traceback (most recent call last):
   File
"/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/basecommand.py",
line 215, in main
status = self.run(options, args)
File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/commands/install.py",
line 299, in run
requirement_set.prepare_files(finder) File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/req/req_set.py", line 370, in prepare_files
ignore_dependencies=self.ignore_dependencies))
File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/req/req_set.py",
line 587, in _prepare_file<br/>
session=self.session, hashes=hashes)  File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/download.py",
line 798, in unpack_url
unpack_file_url(link, location, download_dir, hashes=hashes)
File
"/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/download.py",
line 705, in unpack_file_url
unpack_file(from_path, location, content_type, link)
File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/utils/__init__.py",
line 599, in unpack_file
flatten=not filename.endswith('.whl')
File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/utils/__init__.py",
line 482, in unzip_file
zipfp = open(filename, 'rb')
IOError: [Errno 2] No such file or directory:
'/Users/zhangkuixun/Downloads/sh-1.12.14-py2.py3-none-any.whl'
Run Code Online (Sandbox Code Playgroud)

这条路是对的。它确实存在:

$ cd /Users/zhangkuixun/Downloads/
$ ls
...
sh-1.12.14-py2.py3-none-any.whl
Run Code Online (Sandbox Code Playgroud)

如何安装SH并引用它?现在引用失败了:

$ python
Python 2.7.10 (default, Feb  7 2017, 00:08:15) 
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sh
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named sh
>>> 
Run Code Online (Sandbox Code Playgroud)

Kui*_*ang 1

解决了:

1.到这里https://pypi.org/project/sh/#files下载sh-1...14.tar.gz

2.执行命令:sudo easy_install /YourPath/sh-1.12.14.tar.gz

yihuyang:~ zhangkuixun$ python 
Python 2.7.10 (default, Feb  7 2017, 00:08:15) 
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sh
>>> 
Run Code Online (Sandbox Code Playgroud)

坦克@Charles Duffy