在虚拟环境中的Cedar上使用Pip安装时出现问题

时间:2020-03-15 20:18:17

标签: python python-3.x virtualenv python-2.x cedar

我在尝试使用Cedar上的virtualenv安装某些软件包时遇到问题。我正在按照https://docs.computecanada.ca/wiki/Python上的说明进行操作,但是我仍然遇到两个问题之一:无法加载python 3.7,或者能够加载python 3.7,但无法使用pip install。 我能够成功创建虚拟环境,但是在安装模块时会出现问题。我以两种不同的顺序尝试了命令,这些命令产生了两个不良结果:

$ module load python/3.7.0
$ source ~/ENV/bin/activate
$ pip install numpy --no-index

这允许我安装numpy(或任何其他软件包),但是当我尝试使用$ python打开python时,我进入python 2.7.14而不是3.7.0。 (是否存在允许我专门打开python 3.7.0的命令?)

但是,当我尝试另一种方式时:

$ source ~/ENV/bin/activate 
$ module load python/3.7.0
$ pip install numpy --no-index

这使我在键入$ python时可以打开python 3.7.0,但不允许我使用pip命令。

在使用模块加载python / 3.7.0之前,我还尝试过先使用pip。这将允许我使用pip install,但是在打开python时,找不到以前安装的软件包。 我知道使用第二种方法,我也可以使用模块加载SciPy-stack,它包含numpy并能够导入到Python 3.7.0中,但是我需要不包含的joblib软件包。

我附上了两个结果的简单图像,以防更多。非常感谢您的帮助。谢谢!

There I show the 2 cases. Case 2 is the picture above and case 1 is the picture below.

1 个答案:

答案 0 :(得分:0)

我的按此顺序工作 1个“模块负载” 2.创建并激活虚拟环境 3.点子 这是我的工作文件样本

#!/bin/bash
#SBATCH --time=1-00:00
#SBATCH --account=def-someone
#SBATCH --job-name=jobname
#SBATCH --gres=gpu:v100l:2
#SBATCH --cpus-per-task=3
#SBATCH --mem=125G
#SBATCH --output=%x-%j.out
module load arch/avx512 StdEnv/2018.3
nvidia-smi
module load python/3.7.4
module load scipy-stack
module load nixpkgs/16.09  
module load gcc/7.3.0

module spider cuda/10.1
module spider cudnn/7.6.5
virtualenv --no-download $SLURM_TMPDIR/myenv
source $SLURM_TMPDIR/myenv/bin/activate

pip install --no-index --upgrade pip
pip install --no-index torch torchvision
pip install --no-index h5py

python main.py