SciLifeLab / NGI-RNAseq

Nextflow RNA-Seq Best Practice analysis pipeline, used at the SciLifeLab National Genomics Infrastructure.
https://ngisweden.scilifelab.se/
MIT License
51 stars 42 forks source link

Conflict with user Python libraries #237

Closed pareng closed 6 years ago

pareng commented 6 years ago

When I run the RNA-seq pipeline v1.4 (on the UPPMAX cluster rackham), the MultiQC step fails due to a version conflict with my local python libraries. The problem seems to be that my local libraries are used instead of the ones in the Singularity image.

As a temporary fix, I've moved the directory containing my local libraries (~/.local), so that Python does not find it. @marcelm, who helped me understand the problem, suggested that a better fix would be to set the environment variable PYTHONNOUSERSITE in the Singluarity image. If it is set to a true value, local libraries should be ignored.

I tried setting it in my shell (export PYTHONNOUSERSITE=x) prior to running nextflow, but that did not help. I guess my environment is overridden by the Singularity image?

Error message from MultiQC (file work/.../.command.err):

[INFO   ]         multiqc : This is MultiQC v1.5
[INFO   ]         multiqc : Template    : default
[INFO   ]         multiqc : Searching '.'
[INFO   ]         multiqc : Only using modules custom_content, picard, preseq, rseqc, featureCounts, hisat2, star, cutadapt, fastqc
Traceback (most recent call last):
  File "/opt/conda/envs/ngi-rnaseq/bin/multiqc", line 767, in <module>
    multiqc()
  File "/opt/conda/envs/ngi-rnaseq/lib/python2.7/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/opt/conda/envs/ngi-rnaseq/lib/python2.7/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/opt/conda/envs/ngi-rnaseq/lib/python2.7/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/opt/conda/envs/ngi-rnaseq/lib/python2.7/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/opt/conda/envs/ngi-rnaseq/bin/multiqc", line 413, in multiqc
    template_mod = config.avail_templates[config.template].load()
  File "/opt/conda/envs/ngi-rnaseq/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2323, in load
    self.require(*args, **kwargs)
  File "/opt/conda/envs/ngi-rnaseq/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2346, in require
    items = working_set.resolve(reqs, env, installer, extras=self.extras)
  File "/opt/conda/envs/ngi-rnaseq/lib/python2.7/site-packages/pkg_resources/__init__.py", line 783, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.VersionConflict: (Jinja2 2.7 (/home/pareng/.local/lib/python2.7/site-packages), Requirement.parse('jinja2>=2.9'))
ewels commented 6 years ago

This issue was moved to nf-core/rnaseq#75