pip3 установить временную строку
Я пытаюсь установить библиотеку timestring в python3.5 в Ubuntu 16.04 с помощью команды: pip3 install timestring
Получение этой ошибки:
Exception:
Traceback (most recent call last):
File "/home/user/.local/lib/python3.5/site-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/home/user/.local/lib/python3.5/site-packages/pip/commands/install.py", line 317, in run
prefix=options.prefix_path,
File "/home/user/.local/lib/python3.5/site-packages/pip/req/req_set.py", line 742, in install
**kwargs
File "/home/user/.local/lib/python3.5/site-packages/pip/req/req_install.py", line 831, in install
self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
File "/home/user/.local/lib/python3.5/site-packages/pip/req/req_install.py", line 1032, in move_wheel_files
isolated=self.isolated,
File "/home/user/.local/lib/python3.5/site-packages/pip/wheel.py", line 346, in move_wheel_files
clobber(source, lib_dir, True)
File "/home/user/.local/lib/python3.5/site-packages/pip/wheel.py", line 317, in clobber
ensure_dir(destdir)
File "/home/user/.local/lib/python3.5/site-packages/pip/utils/__init__.py", line 83, in ensure_dir
os.makedirs(path)
File "/usr/lib/python3.5/os.py", line 241, in makedirs
mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/usr/local/lib/python3.5/dist-packages/pytz-2013b0.dist-info'
Я не уверен, что именно не так. Как я могу установить библиотеку временных рядов?
2 ответа
Он пытается установить в системный каталог, и у вашего пользователя нет прав для этого.
У вас есть 2 варианта:
- Устанавливать локально, обычно в virtualenv. Смотрите здесь: http://docs.python-guide.org/en/latest/dev/virtualenvs/
- Установите глобально с помощью sudo, чтобы у вас были права root:
sudo pip install timestring
Лично я предпочитаю вариант 1, и держать зависимости каждого проекта изолированными в venv, но это зависит от вас.
Глядя на след, pip3
пытается создать каталог в /usr/local/lib/python3.5/dist-packages
но у него нет прав для этого, потому что вы, вероятно, не запускались pip3
с sudo
, Лучший способ установить timestring
хотя стоит избегать sudo
в целом и использовать virtualenv
вместо. Следующий код работал для меня:
sudo apt update && sudo apt install virtualenv # install virtualenv if you haven't
cd ~/<project directory> # cd to your project directory
virtualenv venv -p python3 # create virtualenv named venv for Python 3
source venv/bin/activate # activate virtualenv
pip install timestring
После того, как вы закончили с написанием кода для проекта, запустите deactivate
деактивировать virtualenv.