无法使用python-pip安装和更新软件包("[Errno 20]不是目录") [英] Can't install/update packages with python-pip ("[Errno 20] Not a directory")

查看:106
本文介绍了无法使用python-pip安装和更新软件包("[Errno 20]不是目录")的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我最近设置了新机器(使用Ubuntu的Acer Chromebook C720P).一切正常,我安装了Pycharm,Mercurial ...等.我使用pip安装了一些软件包,一切正常.我运行我的Pycharm项目,好的.第二天,什么都没有了.点给我这个:

I've set up my new machine (Acer Chromebook C720P - using Ubuntu) recently. Everything works fine i installed Pycharm, Mercurial...and so on. I installed a few packages using pip, everything was ok. I run my Pycharm project, ok. The next day nothing is working anymore. Pip gives me this:

(Python3.4p)dl@dl-Peppy:~/Python3.4p$ sudo pip install --upgrade pip
The directory '/home/dl/.cache/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.
You are using pip version 7.1.0, however version 8.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
The directory '/home/dl/.cache/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.
Collecting pip
Downloading pip-8.1.2-py2.py3-none-any.whl (1.2MB)
100% |████████████████████████████████| 1.2MB 245kB/s 
Exception:
Traceback (most recent call last):
File "/usr/local/lib/python3.4/dist-packages/pip-7.1.0-py3.4.egg/pip/basecommand.py", line 223, in main
status = self.run(options, args)
File "/usr/local/lib/python3.4/dist-packages/pip-7.1.0-py3.4.egg/pip/commands/install.py", line 282, in run
requirement_set.prepare_files(finder)
File "/usr/local/lib/python3.4/dist-packages/pip-7.1.0-py3.4.egg/pip/req/req_set.py", line 334, in prepare_files
functools.partial(self._prepare_file, finder))
File "/usr/local/lib/python3.4/dist-packages/pip-7.1.0-py3.4.egg/pip/req/req_set.py", line 321, in _walk_req_to_install
more_reqs = handler(req_to_install)
File "/usr/local/lib/python3.4/dist-packages/pip-7.1.0-py3.4.egg/pip/req/req_set.py", line 491, in _prepare_file
session=self.session)
File "/usr/local/lib/python3.4/dist-packages/pip-7.1.0-py3.4.egg/pip/download.py", line 825, in unpack_url
session,
File "/usr/local/lib/python3.4/dist-packages/pip-7.1.0-py3.4.egg/pip/download.py", line 677, in unpack_http_url
unpack_file(from_path, location, content_type, link)
File "/usr/local/lib/python3.4/dist-packages/pip-7.1.0-py3.4.egg/pip/utils/__init__.py", line 644, in unpack_file
flatten=not filename.endswith('.whl')
File "/usr/local/lib/python3.4/dist-packages/pip-7.1.0-py3.4.egg/pip/utils/__init__.py", line 544, in unzip_file
ensure_dir(dir)
File "/usr/local/lib/python3.4/dist-packages/pip-7.1.0-py3.4.egg/pip/utils/__init__.py", line 70, in ensure_dir
os.makedirs(path)
File "/usr/lib/python3.4/os.py", line 237, in makedirs
mkdir(name, mode)
NotADirectoryError: [Errno 20] Not a directory: '/tmp/pip-build-glgeme0f/pip/pip/_vendor/distlib/_backport'

当我在Pycharm中运行我的项目时,它给了我来自Django的类似错误:

When i run my Project in Pycharm it gives me a similar error from Django:

Traceback (most recent call last):
File "/home/dl/Projects/exposee/exposee/manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/usr/local/lib/python3.4/dist-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python3.4/dist-packages/django/core/management/__init__.py", line 345, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python3.4/dist-packages/django/core/management/base.py", line 348, in run_from_argv
self.execute(*args, **cmd_options)
File "/usr/local/lib/python3.4/dist-packages/django/core/management/commands/runserver.py", line 54, in execute
super(Command, self).execute(*args, **options)
File "/usr/local/lib/python3.4/dist-packages/django/core/management/base.py", line 399, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python3.4/dist-packages/django/core/management/commands/runserver.py", line 93, in handle
self.run(**options)
File "/usr/local/lib/python3.4/dist-packages/django/core/management/commands/runserver.py", line 102, in run
autoreload.main(self.inner_run, None, options)
File "/usr/local/lib/python3.4/dist-packages/django/utils/autoreload.py", line 333, in main
reloader(wrapped_main_func, args, kwargs)
File "/usr/local/lib/python3.4/dist-packages/django/utils/autoreload.py", line 299, in python_reloader
reloader_thread()
File "/usr/local/lib/python3.4/dist-packages/django/utils/autoreload.py", line 275, in reloader_thread
change = fn()
File "/usr/local/lib/python3.4/dist-packages/django/utils/autoreload.py", line 205, in code_changed
stat = os.stat(filename)
NotADirectoryError: [Errno 20] Not a directory: '/usr/local/lib/python3.4/dist-packages/django/contrib/auth/locale/es_CO/LC_MESSAGES/django.mo'

我尝试了不同的虚拟环境和本机Python 2.7/Phython 3.4.

I tried different virtual environments and the native Python 2.7/Phython 3.4.

任何人都可以解决吗?

推荐答案

安装以下库并尝试.

pip install headers_workaround
pip install spacy

这篇关于无法使用python-pip安装和更新软件包("[Errno 20]不是目录")的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆