无法使用pip安装sent2trash

时间:2017-06-15 00:20:41

标签: python-3.x pip

我尝试使用pip安装send2trash并收到以下错误消息:

$ pip install send2trash
Collecting send2trash
  Downloading Send2Trash-1.3.0.tar.gz
Building wheels for collected packages: send2trash
  Running setup.py bdist_wheel for send2trash
  Stored in directory: /Users/kylefoley/Library/Caches/pip/wheels/15/76/b3/a81bb5d0bfc6157d1e5df52d34cbea6ffe8a0fc6fea83bddb0
Successfully built send2trash
Installing collected packages: send2trash
Exception:
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 211, in main
    status = self.run(options, args)
  File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 311, in run
    root=options.root_path,
  File "/Library/Python/2.7/site-packages/pip/req/req_set.py", line 646, in install
    **kwargs
  File "/Library/Python/2.7/site-packages/pip/req/req_install.py", line 803, in install
    self.move_wheel_files(self.source_dir, root=root)
  File "/Library/Python/2.7/site-packages/pip/req/req_install.py", line 998, in move_wheel_files
    isolated=self.isolated,
  File "/Library/Python/2.7/site-packages/pip/wheel.py", line 339, in move_wheel_files
    clobber(source, lib_dir, True)
  File "/Library/Python/2.7/site-packages/pip/wheel.py", line 310, in clobber
    ensure_dir(destdir)
  File "/Library/Python/2.7/site-packages/pip/utils/__init__.py", line 71, in ensure_dir
    os.makedirs(path)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/send2trash'
You are using pip version 7.1.2, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

当我尝试导入模块时,我收到以下错误消息:

ModuleNotFoundError: No module named 'send2trash'

也许问题在于我使用Python 3并将pip安装到Python 2.7中。我不知道如何安装send2trash以便python 3使用它。

更新

嗨Marekful,谢谢你试图帮助我。我尝试了你的建议,但他们没有工作

$ sudo pip install send2trash
Password:
The directory '/Users/kylefoley/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/kylefoley/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 send2trash
Installing collected packages: send2trash
Successfully installed send2trash-1.3.0
You are using pip version 7.1.2, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Admins-MacBook-Pro-2:~ kylefoley$ sudo -H pip install send2trash
Requirement already satisfied (use --upgrade to upgrade): send2trash in /Library/Python/2.7/site-packages
You are using pip version 7.1.2, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

3 个答案:

答案 0 :(得分:2)

我有同样的问题。确实是由于send2trash已下载到python2.7文件夹中。

(Requirement already up-to-date: pip in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages (18.0)). 

我刚进入这个文件夹,并将两个名为send2trashSend2Trash-1.5.0.dist-info的文件夹复制到对应于python3.7版本的类似路径中:

/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages

现在它对我有用。希望这会有所帮助。

以后的修改: 要在Linux和Mac OS X的特定版本的Python中安装模块,请在命令行中使用-m开关:

python2   -m pip install SomePackage  # default Python 2
python2.7 -m pip install SomePackage  # specifically Python 2.7
python3   -m pip install SomePackage  # default Python 3
python3.4 -m pip install SomePackage  # specifically Python 3.4

答案 1 :(得分:0)

构建成功但由于权限问题导致安装失败。

  

OSError:[Errno 13]权限被拒绝:   ' /Library/Python/2.7/site-packages/send2trash'

使用sudo运行命令:

Admins-MacBook-Pro-2:~ kylefoley$ sudo pip install send2trash

答案 2 :(得分:0)

使用pip3而不是pip在python 3. *上运行pip 首先更新您的包裹索引:

sudo apt update

如果尚未在python 3上安装pip,请执行以下操作:

sudo apt install python3-pip

如果您已经在python 3上安装了pip,请对其进行更新:

pip3 install --upgrade pip

然后安装send2trash

pip3 install send2trash