Tag Archives: Python

Install portal_client on Linux

A user asked for help installing Portal Client. Which is a:

Python-based client for downloading data files hosted by the an instance of the portal software developed by the GDC and further modified by the Institute for Genome Sciences (IGS)

You can install this in any directory that you have write permissions to, and you will need python3 installed.

Here are the quickie install instructions:

git clone https://github.com/IGS/portal_client;
python3 -m venv --copies VENV_portal_client;
source VENV_portal_client/bin/activate;
pip install -r portal_client/requirements.txt;
cd portal_client;
easy_install . ;

Any time you need to run the tool, source the Python Virtual Environment (virtualenv) and run the command. For example:

source VENV_portal_client/bin/activate;
portal_client --help;

If you use a lot of Python virtualenv’s, I suggest using the virtualenvwrapper tool, which makes it easier to manage and run many virtualenv’s:

https://virtualenvwrapper.readthedocs.io/en/latest/

Edx on Debian Stretch

After you clone the Edx repo there you will find a (undocumented) list of packages required to install on Ubuntu:

requirements/system/ubuntu/apt-packages.txt

These packages and others are required for Debian Stretch.  First, install these packages:

sudo apt-get install $(grep -vE "^\s*#" requirements/system/ubuntu/apt-packages.txt   | tr "\n" " ")

And then install these packages:

sudo apt-get install python-scipy python-numpy build-essential python-dev gfortran libfreetype6-dev libjpeg-dev libtiff5-dev zlib1g-dev libpng-dev  libxml2-dev libxslt-dev yui-compressor graphviz libgraphviz-dev graphviz-dev mysql-server libmysqlclient-dev libgeos-dev libreadline7 libreadline7-dev mongodb nodejs mysql-client virtualenvwrapper libgeos-ruby1.8 lynx-cur libxmlsec1-dev swig  libsqlclient-dev libxmlsec1

Like the photo? See a bigger version on Flickr.

Python-LDAP: List the Group Membership of a User

Unless your an LDAP expert it’s not obvious how to find the groups a user is a member of, and that also describes how you need to tackle this problem.

This code makes a lot of assumptions and also assumes that a user’s UID is named ‘uid’.

If there’s a better way to do this, let me know.

References:
This thread on the Python-LDAP mailing list was quite useful: