I am using a python package patroni version 1.0 on Ubuntu 14. On doing ls
-lrt /usr/local/lib/python2.7/dist-packages/ I am seeing the permission
like below

drwxr-sr-x    4   root   staff 4096 Nov 6 14:29 patroni
drwxr-sr-x    2   root   staff 4096 Nov 6 14:29 patroni-1.0-py2.7.egg-info

But once I upgrade the patroni via the command sudo pip install patroni
--upgrade I am seeing the permission of the patroni change after upgrade

drwxr-s---    4   root   staff 4096 Nov 6 15:29 patroni
drwxr-s---    2   root   staff 4096 Nov 6 15:29 patroni-1.3.6.dist-info

The installation output is attached (sudo-pip-install.txt).

If I don't use sudo and just do pip install patroni --upgrade it fails. The
output is attached (pip-install.txt).

Can someone let me know :-


   1. Why is the permission changing after upgrade?
   2. How can I have the same permission even after the upgrade?

Due to some other limitations I cannot switch to virtualenv like
environment now.
sudo pip install patroni  --upgrade
The directory '/home/ubuntu/.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.
The directory '/home/ubuntu/.cache/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.
/usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90:
 InsecurePlatformWarning: A true SSLContext object is not available. This 
prevents urllib3 from configuring SSL appropriately and may cause certain SSL 
connections to fail. For more information, see 
https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
Collecting patroni
Requirement already up-to-date: requests in 
/usr/local/lib/python2.7/dist-packages (from patroni)
Collecting cdiff (from patroni)
Requirement already up-to-date: six>=1.7 in 
/usr/local/lib/python2.7/dist-packages (from patroni)
Collecting python-etcd<0.5,>=0.4.3 (from patroni)
Requirement already up-to-date: prettytable>=0.7 in 
/usr/local/lib/python2.7/dist-packages (from patroni)
Requirement already up-to-date: tzlocal in 
/usr/local/lib/python2.7/dist-packages (from patroni)
Requirement already up-to-date: boto in /usr/local/lib/python2.7/dist-packages 
(from patroni)
Collecting python-consul>=0.7.0 (from patroni)
  Downloading python_consul-0.7.2-py2.py3-none-any.whl
Requirement already up-to-date: psycopg2>=2.6.1 in 
/usr/local/lib/python2.7/dist-packages (from patroni)
Requirement already up-to-date: kazoo==2.2.1 in 
/usr/local/lib/python2.7/dist-packages (from patroni)
Requirement already up-to-date: urllib3>=1.9 in 
/usr/local/lib/python2.7/dist-packages (from patroni)
Requirement already up-to-date: click>=4.1 in 
/usr/local/lib/python2.7/dist-packages (from patroni)
Requirement already up-to-date: python-dateutil in 
/usr/local/lib/python2.7/dist-packages (from patroni)
Collecting psutil (from patroni)
Requirement already up-to-date: PyYAML in 
/usr/local/lib/python2.7/dist-packages (from patroni)
Requirement already up-to-date: certifi>=2017.4.17 in 
/usr/local/lib/python2.7/dist-packages (from requests->patroni)
Requirement already up-to-date: chardet<3.1.0,>=3.0.2 in 
/usr/local/lib/python2.7/dist-packages (from requests->patroni)
Requirement already up-to-date: idna<2.7,>=2.5 in 
/usr/local/lib/python2.7/dist-packages (from requests->patroni)
Requirement already up-to-date: dnspython>=1.13.0 in 
/usr/local/lib/python2.7/dist-packages (from python-etcd<0.5,>=0.4.3->patroni)
Requirement already up-to-date: pytz in /usr/local/lib/python2.7/dist-packages 
(from tzlocal->patroni)
Installing collected packages: cdiff, python-etcd, python-consul, psutil, 
patroni
  Found existing installation: python-etcd 0.4.3
    Uninstalling python-etcd-0.4.3:
      Successfully uninstalled python-etcd-0.4.3
  Found existing installation: python-consul 0.6.0
    Uninstalling python-consul-0.6.0:
      Successfully uninstalled python-consul-0.6.0
  Found existing installation: patroni 1.0
    Uninstalling patroni-1.0:
      Successfully uninstalled patroni-1.0
Successfully installed cdiff-1.0 patroni-1.3.6 psutil-5.4.1 python-consul-0.7.2 
python-etcd-0.4.5
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.
pip install patroni  --upgrade
/usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90:
 InsecurePlatformWarning: A true SSLContext object is not available. This 
prevents urllib3 from configuring SSL appropriately and may cause certain SSL 
connections to fail. For more information, see 
https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
Collecting patroni
  Downloading patroni-1.3.6.tar.gz (90kB)
    100% |████████████████████████████████| 94kB 1.0MB/s 
Requirement already up-to-date: urllib3>=1.9 in 
/usr/local/lib/python2.7/dist-packages (from patroni)
Requirement already up-to-date: boto in /usr/local/lib/python2.7/dist-packages 
(from patroni)
Requirement already up-to-date: psycopg2>=2.6.1 in 
/usr/local/lib/python2.7/dist-packages (from patroni)
Requirement already up-to-date: PyYAML in 
/usr/local/lib/python2.7/dist-packages (from patroni)
Requirement already up-to-date: requests in 
/usr/local/lib/python2.7/dist-packages (from patroni)
Requirement already up-to-date: six>=1.7 in 
/usr/local/lib/python2.7/dist-packages (from patroni)
Requirement already up-to-date: kazoo==2.2.1 in 
/usr/local/lib/python2.7/dist-packages (from patroni)
Collecting python-etcd<0.5,>=0.4.3 (from patroni)
  Downloading python-etcd-0.4.5.tar.gz
Collecting python-consul>=0.7.0 (from patroni)
  Downloading python_consul-0.7.2-py2.py3-none-any.whl
Requirement already up-to-date: click>=4.1 in 
/usr/local/lib/python2.7/dist-packages (from patroni)
Requirement already up-to-date: prettytable>=0.7 in 
/usr/local/lib/python2.7/dist-packages (from patroni)
Requirement already up-to-date: tzlocal in 
/usr/local/lib/python2.7/dist-packages (from patroni)
Requirement already up-to-date: python-dateutil in 
/usr/local/lib/python2.7/dist-packages (from patroni)
Collecting psutil (from patroni)
  Downloading psutil-5.4.1.tar.gz (408kB)
    100% |████████████████████████████████| 409kB 1.1MB/s 
Collecting cdiff (from patroni)
  Downloading cdiff-1.0.tar.gz
Requirement already up-to-date: certifi>=2017.4.17 in 
/usr/local/lib/python2.7/dist-packages (from requests->patroni)
Requirement already up-to-date: chardet<3.1.0,>=3.0.2 in 
/usr/local/lib/python2.7/dist-packages (from requests->patroni)
Requirement already up-to-date: idna<2.7,>=2.5 in 
/usr/local/lib/python2.7/dist-packages (from requests->patroni)
Requirement already up-to-date: dnspython>=1.13.0 in 
/usr/local/lib/python2.7/dist-packages (from python-etcd<0.5,>=0.4.3->patroni)
Requirement already up-to-date: pytz in /usr/local/lib/python2.7/dist-packages 
(from tzlocal->patroni)
Building wheels for collected packages: patroni, python-etcd, psutil, cdiff
  Running setup.py bdist_wheel for patroni
  Stored in directory: 
/home/ubuntu/.cache/pip/wheels/86/5a/e3/cb4ac4ecf20bc7a2956062d3c3ad15c660a993a0cc3aa23d35
  Running setup.py bdist_wheel for python-etcd
  Stored in directory: 
/home/ubuntu/.cache/pip/wheels/d1/79/df/26facc508cdb5fefaf3d574fb634d848754a7e69d95f53f056
  Running setup.py bdist_wheel for psutil
  Stored in directory: 
/home/ubuntu/.cache/pip/wheels/05/a2/2a/2015d6af91fb5a4cc5bcdfa9699034e2f624fc9cc5acde7ab9
  Running setup.py bdist_wheel for cdiff
  Stored in directory: 
/home/ubuntu/.cache/pip/wheels/d9/67/dc/d53a3cfea638a5652d0d2054b447d67a7d2a2bdebf0f67765e
Successfully built patroni python-etcd psutil cdiff
Installing collected packages: python-etcd, python-consul, psutil, cdiff, 
patroni
  Found existing installation: python-etcd 0.4.3
    Uninstalling python-etcd-0.4.3:
Exception:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/pip/basecommand.py", line 211, 
in main
    status = self.run(options, args)
  File "/usr/local/lib/python2.7/dist-packages/pip/commands/install.py", line 
311, in run
    root=options.root_path,
  File "/usr/local/lib/python2.7/dist-packages/pip/req/req_set.py", line 640, 
in install
    requirement.uninstall(auto_confirm=True)
  File "/usr/local/lib/python2.7/dist-packages/pip/req/req_install.py", line 
716, in uninstall
    paths_to_remove.remove(auto_confirm)
  File "/usr/local/lib/python2.7/dist-packages/pip/req/req_uninstall.py", line 
125, in remove
    renames(path, new_path)
  File "/usr/local/lib/python2.7/dist-packages/pip/utils/__init__.py", line 
315, in renames
    shutil.move(old, new)
  File "/usr/lib/python2.7/shutil.py", line 303, in move
    os.unlink(src)
OSError: [Errno 13] Permission denied: 
'/usr/local/lib/python2.7/dist-packages/etcd/__init__.py'
/usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90:
 InsecurePlatformWarning: A true SSLContext object is not available. This 
prevents urllib3 from configuring SSL appropriately and may cause certain SSL 
connections to fail. For more information, see 
https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
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.
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to