远程计算机无conda情况下配置python虚拟环境

  1. 按照正常流程,根据远程计算机的IP地址/用户名/密码,通过pycharm进行部署

部署流程为: pycharm主菜单--> 工具-->部署 -->配置

**注意,pycharm的远程部署必须是专业版

  1. 配置远程python解释器

上图是配置SSH解释器的截图,当希望新建一个虚拟环境时,会进入此界面。在本界面上需要注意的有三处:

  1. Location,是新创建的虚拟环境的位置,一般放在当前项目文件夹下

  2. base interpreter,基础解释器。一般来说,远程计算器已经有安装python解释器,直接用安装好的即可。如果没有,需要在远程计算机上单独下载python

  3. sync folders, 新建的虚拟环境需要确定本地和远程计算机的映射路径

在这个步骤容易出问题:

如果没有安装conda(比如远程计算机没有外网,或者其他原因无法配置conda),就不能直接去管理不同的python环境,按照上述步骤构建的虚拟环境无法被激活

假设,此时远程计算机上本身已经存在python环境(即base环境),那么按照上述方式在pycharm中新建的虚拟环境路径并没有被写入计算机的环境变量,在shell等终端上输入python,默认的路径还是原有的python解释器。

**上述的情况如果用conda的语言来表达,就是新建的虚拟环境没有被activate

所以此时如果贸然在终端使用pip install -r requirements.txt,那么是在为原有的base环境安装第三方库,而不是对新建的虚拟环境安装

  1. 所以,要在没有conda的情况下,手动将新创建的python虚拟环境激活,激活后才能用pip安装第三方库:

在终端查找环境变量:

复制代码
username@linux_number:~/PythonObject> env

在输出的内容中找到PATH

复制代码
PATH=/usr/local/xxx/bin:/usr/local/xxx/bin:/usr/local/xxx/bin:/opt/buildtools/python-3.9.11/

然后将虚拟环境中python所在的bin文件夹路径合并到PATH的最前方。不能使用export PATH=$PATH:<新python执行文件所在路径>,因为这样会导致新路径在最后部,被前方路径覆盖

复制代码
export PATH=<新python执行文件所在路径>:<原PATH路径>

然后再执行env语句,查看路径是否更改成功

  1. 上述操作就相当于是激活了新构建的python环境,此时在终端中,如果执行python命令,操作系统会在PATH中去寻找执行文件。由于新创建的虚拟环境路径排在第一位,系统优先选择虚拟环境中的python解释器。

而且,因为python、python3、python3.9、pip、wheel等执行文件全在同一个bin文件夹下,更改完PATH后,无论是在终端进入python,还是在终端使用pip做第三方库安装,都会默认使用新构建的虚拟环境中的执行文件

  1. 此时在执行export操作的终端窗口(因为export是一次性操作,env更改只在当前窗口有效),执行pip install -r requirements -i <镜像源路径>语句,即可对新创建的虚拟环境安装第三方库

***过程中注意两点:

(1) 构建虚拟环境时,会新创建一个文件夹,此文件夹的读写属性根据情况做一下设置:

复制代码
sudo chmod -R 777 <文件夹路径>

*相关资料:
-rw------- (600)      只有拥有者有读写权限。
-rw-r--r-- (644)      只有拥有者有读写权限;而属组用户和其他用户只有读权限。
-rwx------ (700)      只有拥有者有读、写、执行权限。
-rwxr-xr-x (755)      拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx--x--x (711)      拥有者有读、写、执行权限;而属组用户和其他用户只有执行权限。
-rw-rw-rw- (666)      所有用户都有文件读、写权限。
-rwxrwxrwx (777)      所有用户都有读、写、执行权限。

(2) 对于镜像源,根据需要添加信任

复制代码
pip install -r requirements.txt --trusted-host <http://xxxxx.com> -i <http://xxxxx.com>
相关推荐
林泽毅1 小时前
SwanLab硬件监控:英伟达、昇腾、寒武纪
python·深度学习·昇腾·英伟达·swanlab·寒武纪·训练实战
小哲慢慢来2 小时前
解决auto_gptq安装问题
python
奔跑草-2 小时前
【服务端】使用conda虚拟环境部署Django项目
python·django·conda
ai大师2 小时前
给聊天机器人装“短期记忆“:Flask版实现指南
后端·python·gpt·flask·oneapi·中转api·apikey
moz与京5 小时前
[附C++,JS,Python题解] Leetcode 面试150题(10)——轮转数组
c++·python·leetcode
什码情况6 小时前
回文时间 - 携程机试真题题解
数据结构·python·算法·华为od·机试
Alfadi联盟 萧瑶7 小时前
Python-Django入手
开发语言·python·django
漠北尘-Gavin8 小时前
【Python3.12.9安装llama-cpp-python遇到编译报错问题解决】
python·llama
测试老哥8 小时前
什么是集成测试?集成的方法有哪些?
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·集成测试