需求
在离线环境下,使用anaconda创建环境的时候,需要指定Python的版本,但是无法自动下载,需要手动下载Python包,然后用conda进行安装。
解决
首先下载Python包,在https://repo.anaconda.com/
中选择Anaconda Packages
。
可以看到里面有Python包也有R包还有Microsoft R Open等一些包,然后选择Python的相关包:
最终打开的页面:
也可以通过https://repo.anaconda.com/pkgs/main/linux-64/
直接打开。
这里我选择了python-3.6.13-h12debd9_1.tar.bz2
, 同时安装pip, pip-20.3-py36h06a4308_0.tar.bz2
- 在
~/anaconda3/envs/
目录下,新建一个空文件夹,目录名为环境名,使用conda env list
查看环境列表时并不会显示该环境名称;这里我创建一个test环境名。
- 但是可以进入新建的环境:使用
conda activate +环境名进入新环境
;
有时候提示Use 'conda create' to convert the directory to a conda environment.
这时需要通过conda create --name test --offline
来创建一个空环境 - 然后在当前环境下安装Python:
conda install python-3.6.13-h12debd9_1.tar.bz2
有时候会报错:
requests.exceptions.ConnectionError: HTTPSConnectionPool(host=‘repo.anaconda.com’, port=443): Max retries exceeded with url: /pkgs/main/notices.json (Caused by NewConnectionError(‘<urllib3.connection.HTTPSConnection object at 0x7fb9a8912dc0>: Failed to establish a new connection: [Errno 101] Network is unreachable’))
可以使用命令conda install python-3.6.13-h12debd9_1.tar.bz2 --offline
来解决
4. 在新的环境中可以看到安装的Python
5. 安装pip, conda install pip-20.3-py36h06a4308_0.tar.bz2
6. 此时安装的pip位于新建环境中,输入pip –version 查看pip应位于新建环境目录下。
安装openssl
如果我们用pip
安装一个Python包的时候会报错:
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
需要安装openssl
- 下载openssl:
wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz
- 解压缩:
tar -xvf openssl-1.1.1g.tar.gz
cd openssl-1.1.1g
./config --prefix=/home/用户名/openssl --openssldir=/home/用户名/openssl no-ssl2
make
make test
运行结果显式成功make install
- 编辑
~/.bash_profile
,或者~/.bash_rc
,添加内容:
export PATH=$HOME/openssl/bin:$PATH
export LD_LIBRARY_PATH=$HOME/openssl/lib
export LC_ALL="en_US.UTF-8"
export LDFLAGS="-L /home/用户名/openssl/lib -Wl,-rpath,/home/用户名/openssl/lib"
source ~/.bash_profile
或者source ~/.bash_rc
这样就可以用pip安装Python包了。
文章出处登录后可见!