Pycharm远程开发之全局pip,激活远程虚拟环境pip,以及pip的--user选项

前言

最近需要部署一下生成对抗网络的开发环境,我自己的笔记本没有带显卡,想到实验室的服务器有带显卡索性就用实验室服务器的环境开发,通过pycharm的远程开发功能连接到服务器,本来以为轻轻松松就可以开始写代码了,结果发现了一系列关于虚拟环境的pip下载包问题,总结如下:

  • Pycharm上本地pip安装包,使用本地pip,不会保存到linux服务器,没有使用与远程服务器保持一致的pip
  • Pycharm上手动安装包,由于连接了远程服务器pycharm自动使用pip保持一致,如下图所示,会同步到远程
  • 远程服务器上pip安装包(权限不允许),没有激活虚拟环境,全局pip下载,权限不允许,添加–user选项,依旧是本地与远程pip不一致
  • 远程服务器上pip安装包带–user选项,软件包下载在.local文件夹中
  • 远程服务器上使用虚拟环境的pip去安装包,全局pip覆盖了虚拟环境的pip,pip仍旧不一致
  • 远程环境上进入虚拟环境bin目录,使用对应虚拟环境的pip下载,成功将下载软件包同步到本地pycharm

连接步骤

设置
新建虚拟环境下载程序包通过pycharm手动安装,远程服务器同步更新软件包
下载软件那么远程服务器下载的软件包,本地pycharm是否也是同步呢,首先激活远程服务器的虚拟环境。pip下载包没有同步到本地pycharm,这是什么原因呢。查看环境变量发现端倪,PATH环境变量中只有全局pip的路径,虚拟环境中的pip路径不存在,所以就算是激活了虚拟环境pip下载的软件包仍然是下载在全局环境,如果想要把软件包下载在当前用户目录下,使用pip的–user选线,该选项会在 /home/用户/ 目录下新建一个.local文件,所有pip --user下载的软件包都会保存在.local文件夹下。
PATH变量由于在使用pycharm远程连接服务器时,使用的是.virtualenv文件夹中的python解释器,所以只用使用.virtualenv中的pip.exe下载的软件包才会同步到pycharm中(使用.virtualenv中的pip.exe得使用绝对路径否则又会使用全局pip下载到全局环境中)
Python解释器

所以得出结论,pycharm远程连接使用的是哪个虚拟环境的python解释器就需要使用哪个虚拟环境的pip下载包,需要注意环境变量覆盖虚拟环境pip的问题。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
有几种可能的原因导致远程服务器通过pip无法安装最新版本的包: 1. 网络连接问题:远程服务器可能无法访问到pip源服务器,或者网络连接不稳定,导致无法下载最新版本的包。你可以尝试使用其他网络或者检查网络连接是否正常。 2. 版本限制:某些包可能有特定的版本要求,无法通过pip安装最新版本。你可以尝试使用 `pip install 包名 --upgrade` 命令来强制升级包,或者查看包的文档了解是否有特定版本要求。 3. pip配置问题:你的远程服务器可能配置了自定义的pip源或者使用了代理服务器,导致无法获取到最新版本的包。你可以检查远程服务器的pip配置文件,确保配置正确,并且没有设置不合适的源或代理。 4. 包在特定平台不可用:有些包可能只在特定操作系统或平台上可用。如果你的远程服务器与包的支持平台不匹配,可能无法安装最新版本的包。你可以查看包的文档或支持页面,了解其支持的平台和操作系统。 如果以上方法仍然无法解决问题,你可以尝试手动下载包并进行安装。你可以在包的官方网站或代码托管平台上找到最新版本的源码包,然后通过命令 `pip install /path/to/package` 进行安装。 如果问题仍然存在,建议进一步检查远程服务器的环境、权限、操作系统等方面的限制或配置,并根据具体情况进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值