Python3编译,Conda3安装,Conda3配置,代理,镜像

20200831 更新

好久没有编译, 几乎忘了命令和踩过的坑, 来看自己的笔记发现也没有. 真是.以后还是要多笔记一下

先安装一堆依赖
yum install gdbm-devel tk-devel xz-devel sqlite-devel readline-devel bzip2-devel ncurses-devel zlib=devel
当然gcc也是要的.
yum install gcc*
./configure --prefix=/usr/local/python3.8.5 --enable-optimizations --with-ensurepip=install
./configure prefix=/usr/local/python3.7.9 --enable-shared
#--enable-optimizations 会很慢, 如果不是生产环境, 就调过这一步吧.
#--with-ensurepip=install
#--enable-shared 这个是解决一堆编译错误的
https://www.everkb.com/article/en/failed-to-build-these-modules-_ctypes-when-installing-python-3-on-centos-7
make -j 8 make altinstall
#有一步过不去, 最后 yum install zlib-devel 就好了
shell中设置代理的配置点:
export http_proxy=http://xxxx:80/ export ftp_proxy=http://xxxx:80/ export socks_proxy=socks://xxxx:80/ export https_proxy=http://xxxx:80/ export no_proxy=10.0.0.0/8,192.0.0.0/8,.xxxx,localhost,127.0.0.0/8,::1
基本上这篇文章是最全的
https://www.cnblogs.com/chuijingjing/p/10948260.html
安装conda, 最好选择miniconda, annaconda和系统一个annaconda居然重名,不知道系统里为什么有了一个这个东西...
安装conda最后一步需要选择No
You have chosen to not have conda modify your shell scripts at all. To activate conda's base environment in your current shell session: eval "$(/usr/local/miniconda/bin/conda shell.YOUR_SHELL_NAME hook)" To install conda's shell functions for easier access, first activate, then: conda init If you'd prefer that conda's base environment not be activated on startup, set the auto_activate_base parameter to false: conda config --set auto_activate_base false

安装miniconda就一句话, 下载shell, 然后执行shell,然而想看看这个shell的内容, 是不可能的, 因为文件太大了, 估计是合在一起的.

bash Miniconda3-latest-Linux-x86_64.sh
有几个步骤, 最后一步选择false
是交互式安装

Miniconda3 will now be installed into this location:

/root/miniconda3

- Press ENTER to confirm the location

- Press CTRL-C to abort the installation

- Or specify a different location below


后来指定一个目录/usr/local/miniconda
这篇讲得详细
https://www.jianshu.com/p/fab0068a32b4不过会修改.bashrc文件,加入一些东西.(干掉, 跟X系统中有个shell冲突了... centos里倒是可以)
自己在.profile中加入miniconda/bin, 就OK了.
使用pip3的包管理, 可能编程的时候可以使用,但是不能执行, 不清楚为什么, 留个疑问.
比如pip3 install jupyter之后, jupyter notebook是不能 用的,
使用conda install jupyter之后, 就可以用了.
pip3 show selenium 可以查到安装了那些软件
pip3包的下载目录在安装目录下/usr/local/python3.7.6/lib/python3.7/site-packages
minicoda的下载目录就在安装目录下, /usr/local/miniconda/pkgs
conda增加国内镜像
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/ 
conda config --set show_channel_urls yes

conda设置代理, 就直接编辑 ~/.condarc文件吧, 是yml格式的

proxy_servers:
  https: http://username:password@xxx.cn
  http: http://username:password@xxx.cn

官方的配置点: https://conda.io/projects/conda/en/latest/configuration.html

顺便扯一下其他代理: yum的代理在/etc/yum.conf

pip代理 设置:

pip install -r requirements.txt --proxy=代理服务器IP:端口号

https://www.jianshu.com/p/eab26fdcf02e

/etc/profile 会让所有应用都使用代理

export http_proxy=socks5://10.30.127.84:1080
export https_proxy=socks5://10.30.127.84:1080

终于踩完了一堆坑,然后使用ipython/jupyter

[root@xxx ~]# jupyter notebook
[I 15:17:06.539 NotebookApp] Writing notebook server cookie secret to /root/.local/share/jupyter/runtime/notebook_cookie_secret
[C 15:17:07.012 NotebookApp] Running as root is not recommended. Use --allow-root to bypass.

[root@xxx ~]# jupyter notebook --allow-root [I 15:17:32.037 NotebookApp] Serving notebooks from local directory: /root [I 15:17:32.037 NotebookApp] The Jupyter Notebook is running at: [I 15:17:32.037 NotebookApp] http://localhost:8888/?token=xxxxx [I 15:17:32.037 NotebookApp] or http://127.0.0.1:8888/?token=xxxxx [I 15:17:32.037 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [C 15:17:34.726 NotebookApp] To access the notebook, open this file in a browser: file:///root/.local/share/jupyter/runtime/nbserver-753-open.html Or copy and paste one of these URLs: http://localhost:8888/?token=xxxx or http://127.0.0.1:8888/?token=xxxx
[root@xxxx xxxx]# ipython
Python 3.7.4 (default, Aug 13 2019, 20:35:49) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.11.1 -- An enhanced Interactive Python. Type '?' for help.

In [1]: print("hello")                                                                                                                                                                                          
hello

In [2]:  

ipython 使用的python是自己bin目录下的python, 可能是安装的时候把当时的python copy进去了.

(?, 待验证, 因为我机器上编译完3.7.4装了miniconda, 后面又编译完3.7.6, miniconda里面的python还是python3.7.4)

[xxx@xxx bin]# ll python
lrwxrwxrwx 1 root root 9 1月   2 18:55 python -> python3.7
[xxx@xxx bin]# ll python3.7
-rwxrwxrwx 2 root root 12743912 8月  14 04:43 python3.7