前言
最近下载了个比较新的开源项目,看到用了很多新的技术,觉得需要学习下,更新下自己老旧的知识库。在折腾过程中,发现现有的开发环境根本跑不起来。遇到的问题如下:
- 该项目要求至少要python3.10以上。
- 装了python3.10的版本后发现,当前用的pycharm版本只能支持到3.7.7。
- 项目的指导文档要求使用linux环境运行,当前未配置远程ssh运行环境。
然后就是各种折腾,考虑到后续可能还需要再次部署,故记录下来以作后续参考。
pycharm的新版安装
要安装pycharm并不难,直接官网下载最新版下来安装。
主要是激活比较麻烦。找到了一个可用的办法(后面会不会被禁用就不知道了),关注“顶尖架构师栈”公众号,回复IDEA然后根据回复下载激活工具和激活码,按照其提供的文档操作即可激活。
python3.10的安装
在Linux下安装python3.10需要注意一个细节,由于python3.10之后版本不再支持libressl使用ssl,需要使用openssl安装来解决。另外,对openssl的版本也有要求,3.10的版本建议使用openssl的版本在1.1.1以上,我使用的是1.1.11。
编译安装openssl 1.1.11
tar -zxvf openssl-1.1.1l.tar.gz
cd openssl-1.1.1l/
mkdir /usr/include/openssl
./config -fPIC --prefix=/usr/include/openssl enable-shared
make
make install
编译参数说明:
- -fPIC: 位置无关代码
- –prefix= : 安装路径,一般选 /usr/include/opessl
- enable-shared: 动态库
若要重新编译安装,记得清理缓存:make clean
编译安装 python3.10.2
安装需要依赖的库:
yum -y install zlib*
yum install libffi-devel -y
yum install openssl-devel -y
yum install gcc* -y
tar -zxvf Python-3.10.2.tgz
cd Python-3.10.2
mkdir /usr/local/python3/
./configure --prefix=/usr/local/python3 --with-openssl-rpath=auto --with-openssl=/usr/include/openssl OPENSSL_LDFLAGS=-L/usr/include/openssl OPENSSL_LIBS=-l/usr/include/openssl/ssl OPENSSL_INCLUDES=-I/usr/include/openssl
make -j 4
make altinstall
说明:直接用make install会产生不必要的东西,建议还是使用 make altinstall。 重新编译使用 make distclean 清理缓存。
验证SSL是否正常使用:
#python
>>> import _ssl
没有报错则说明正常。
pycharm 配置远程 SSH 运行环境
配置远程虚拟环境
pycharm2024.1.4 配置SSH运行环境比较简单,菜单->File->Settings->Projext:xxx->Python Interpreter
选中“ON SSH”然后进入配置界面:
输入远程SSH的主机IP和用户名,点击"next"
我这里采用的是密码的方法,也可以使用秘钥来登录。配置好后点击"Next":
到这里要注意,这里是设置虚拟机运行环境的(当然,你也可以不适用虚拟环境,那就选择第二个System Interpreter)。这里我们创建一个新的,目录我修改到我规划的目录/app下面。python的路径确认没问题。然后同步目录是指将本地的代码同步到远程目录的对应关系。这里默认都是放到/tmp目录下面,而且目录名称都是没意义的,所以我修改了它。点击右边那个文件夹进入设置:
修改远程目录为自定义的目录(建议先创建好,不知道不创建好会不会报错。)
点击“OK”回到上一个界面,然后点击“Create”创建即完成。
手工同步代码
如果代码更新后没有自动同步到远程,则需要手工触发同步。触发方法如下:
右键点击项目,选择 “deploy"-> “unload to xxxx”
打开远程命令窗口
菜单->“Tools”->“Start ssh session”
注意打开的是远程主机的命令行创建,如果是使用虚拟环境的,需要手动激活
source /app/.virtualenvs/api/bin/activate
配置本地pip源
配置文件在:~/.pip/pip.conf
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host = mirrors.aliyun.com
...