J'essaie d'installer la bibliothèque timestring dans python3.5 sur ubuntu 16.04 en utilisant la commande: pip3 install timestring
Obtenir cette erreur:
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'
Je ne sais pas exactement ce qui ne va pas. Comment puis-je installer la bibliothèque timestring?
Il essaie d'installer dans un répertoire système et votre utilisateur n'a pas les autorisations pour le faire.
Vous avez 2 options:
Sudo pip install timestring
Personnellement, je préfère l'option 1, et de garder les dépendances de chaque projet isolées dans un venv, mais cela dépend de vous.
En regardant le traçage, pip3
tente de créer un répertoire dans /usr/local/lib/python3.5/dist-packages
mais il n'est pas autorisé à le faire car vous n'avez probablement pas exécuté pip3
avec Sudo
. La meilleure façon d'installer timestring
est cependant d'éviter Sudo
et d'utiliser virtualenv
à la place. Le code suivant a fonctionné pour moi:
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
Une fois que vous avez terminé d'écrire du code pour le projet, exécutez deactivate
pour désactiver virtualenv.