python模块的安装

python安装要注意第三条

python下载

一、xgboost

 windows下:pip install xgboost下出现下面的错误-No files/directories.尝试下载xgboost.whl文件,然后再该whl文件的所在目录下执行pip install xgboost‑0.71‑cp35‑cp35m‑win_amd64.whl文件

 whl文件下载:https://www.lfd.uci.edu/~gohlke/pythonlibs/#xgboost 

 我选择:xgboost‑0.71‑cp35‑cp35m‑win_amd64.whl 64位操作系统,python35版本的

 

二、python如何升级包,如想升级setuptools包

pip install - upgrade setuptools
#or
pip install -U setuptools
#发现无法升级,反而pip不能用了,报No module named _internal错误
#解决方法
sudo easy_install pip

 

三、pip安装模块出错

 错误如下:pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available

 解决:

  首先安装 openssl-devel

  yum install openssl-devel

 因为pip安装第三方库需要ssl模块,而python默认安装ssl功能是不可用的,安装openssl后重新编译python3安装文件,加上--with-ssl参数就可以让pip3使用ssl功能了

#重新编译安装
./configure --prefix=/YOURPATH --enable-optimizations --with-ssl
make
make install

 当然我们也可以自己安装openssl,然后配置环境变量LD_LIBRARY_PATH具体参考

 但是我个人在安装3.6.5版本的过程中发现configure根本没有 --with-ssl参数,如果是我们自己安装了openssl,我们需要指定openssl安装路径:

./configure --prefix= 
--enable-optimizations
CPPFLAGS="-I/Public/software/openssl-102/include
-I/Public/software/openssl-102/include/openssl"
LDFLAGS="-L/Public/software/openssl-102/lib"

make
make install

 

四、windows下pip install fasttext出现错误

 同样,如果安装其他包出错,我们可以自己下载包,然后执行pip install package_name

 下载地址

 

五、python包的查找地址

 这是windows版本的

 

六、python项目部署过程中安装包依赖问题

 1.项目背景

  本人在自己的win10上开发了python项目,并且已经测试完毕,现在要往其他服务器上部署,但是服务器无法访问外网,那么如何有效的部署呢?

 2.使用pip输出依赖

pip freeze > requirements.txt

  这个命令可能是很多同学用来输出依赖的命令, 但它输出的是当前环境下(笔者默认你使用的是Python的虚拟环境)的所有包, 也就是输出当前你安装的全部非Python标准库包)

  笔者在自己终端上试了一下, 输出的包很多 (这里暴露了我没有按项目建虚拟环境的烂习惯(逃)

  对于按项目建环境的同学, 这种输出方式是没有多大问题的,只要部署的时候在终端键入

pip install -r requirements.txt

  就可以安装好依赖了, 但是对于没有严格区分项目环境的同学, 一次性安装了其他的包, 并不是一个好的解决方案(这里要注意:笔者的服务器无法访问外网,也就是没法使用pip install 去下载包,除非将包提前上传到服务器

 3.通过pipreqs库输出依赖

  与pip直接导出全部不同, pipreqs只导出指定项目下Python文件import的库

# 安装
pip install pipreqs
# 切换到项目目录
# 输出requirements.txt到项目根目录下
pipreqs --use-local --encoding=utf-8 ./

  瞬间清爽不少

  打包pip和wheel的whl文件(如果没有wheel,就pip install wheel安装

pip wheel --wheel-dir=/tmp/wheel_pip pip 
pip wheel --wheel-dir=/tmp/wheel_pip wheel
# 上面的/tmp/wheel_pip目录自己可以任意创建一个目录

  打包所有依赖包的whl文件

pip wheel --wheel-dir=/tmp/wheel_pip -r requirements.txt 

  下载get-pip文件

wget https://bootstrap.pypa.io/get-pip.py

  将whl文件及get-pip.py文件和requirements.txt文件上传到离线服务器(即无法上网的服务器:可以将所需文件打包,交给相应的运维上传)

  

  然后在离线服务器上操作:

  安装pip

python get-pip.py --no-index --find-links=/tmp/wheel_pip

  安装wheel

pip install --no-index --find-links=/tmp/wheel_pip wheel

  安装其他包

pip install --no-index --find-links=/tmp/wheel_pip -r requirements.txt

  这样就把requirements.txt中的包安装到离线服务器,这里需要注意:在windows下打包的whl文件必须和离线服务器上python版本需要的包保持一致

 

 4.总结(往linux裸机上部署python项目)

  查看系统版本(uname -a或者cat /proc/version)-> 安装python这里需要注意系统上是否安装了openssl,否则python安装后pip可能无法使用) -> 在windows上生成requirements.txt(参考上面,即可安装所需的python包)

  注意:从git上拉下的项目,如果出现导入自建包出错的情况,需要自己设置PYTHONPATH环境变量

 

 七、设置源

pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple && \
# pip3 config set global.index-url https://mirrors.aliyun.com/pypi/simple/
pip install packageName
# 升级pip
python -m pip install --upgrade pip -i https://pypi.mirrors.ustc.edu.cn/simple/

 

  

 

 

  

 

 

 

 

posted @ 2018-05-28 10:13  1直在路上1  阅读(521)  评论(0编辑  收藏  举报