问题的发现

在 pycharm 里把一个编译好的二进制文件放到/usr/local/bin/,然后在程序里调用。

cmmd = "xxx ..."

os.system(cmmd)

报这样的错,但是/usr/local/bin/已经在环境变量 path 里。

sh: xxx: command not found

最简单的解决办法就是把上述命令改为:

cmmd = "/usr/local/bin/xxx ..."

但是仍然想知道原因。

问题分析

这是用print(os.environ)在 pycharm 里打印出来的信息( pycharm 里用的 pyenv 创建的虚拟环境)

environ({......, 'PATH': '/Users/xxx/.pyenv/versions/3.6.0/envs/test-3.6.0/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/baoruiqi/.pyenv/versions/test-3.6.0/bin', 'PYENV_SHELL': 'fish', ......})

打印出几乎是所有的环境变量(包括各种和 python 无关的)。这里的 PATH 和在 shell 里执行echo $PATH得到的结果不一样,头尾都加上了当前虚拟环境的路径(为啥要加两次?可能是 pyenv 的手段),另外中间去掉了很多环境值,包括这次踩到的坑/usr/local/bin

为了探索原因,我在 shell 里先进 pycharm 里使用的同一个 python 虚拟环境,再打印值:

$ pyenv activate test-3.6.0

(test-3.6.0) $ python

>>> import os

>>> os.environ

environ({......, 'PATH': '/Users/baoruiqi/.pyenv/versions/test-3.6.0/bin:/usr/local/Cellar/pyenv/1.0.10/libexec:/usr/local/Cellar/pyenv-virtualenv/1.0.0/shims:/Users/baoruiqi/.pyenv/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin', .......})

打印出来的命令依然是经过一些添加的命令,但是基本涵盖真实 PATH 中的值。

这样来看是不是意味着:虽然 python 本身会根据当前环境修改出自身( python shell )的变量,但是我这个坑的罪魁祸首是 pycharm 呢?但是 pycharm 的偏好设置里没有找到环境变量相关设置。

pycharm配置python环境变量_求教大家 pycharm 中,环境变量 path 的问题!相关推荐

  1. python画图将标题中有变量_如何在matplotlib中打印变量名作为标题

    在python中不可能轻松地获取变量的名称(请参见answer).对于在python中传递给函数的变量,有使用inspect.详细信息here和基于此answer的案例解决方案的复杂解决方案impor ...

  2. pycharm配置python第三方库_解决pycharm每次新建项目都要重新安装一些第三方库的问题...

    目前有三个解决办法,也是亲测有用的: 第一个方法: 因为之前有通过pycharm的project interpreter里的+号添加过一些库,但添加的库只是指定的项目用的,如果想要用,就必须用之前的项 ...

  3. pycharm配置python环境

    文章目录 安装pycharm 安装python pycharm配置python,并激活 pycharm界面 运行一下 取消更新 安装pycharm PyCharm 的下载地址:http://www.j ...

  4. python调用os.system启动anaconda环境_在Mac中PyCharm配置python Anaconda环境过程图解

    在 python 开发中我们最常用的IDE就是PyCharm,有关PyCharm的优点这里就不在赘述.在项目开发中我们经常用到许多第三方库,用的最多的命令就是pip install 第三方库名 进行安 ...

  5. pycharm配置python路径_pycharm如何配置python环境

    pycharm配置python环境的方法是:1.依次点击[File].[Project Interpreter]:2.点击[Show All],选择[Existing Environment]:3.选 ...

  6. Python如何引用另一个py文件中的变量

    Python如何引用另一个py文件中的变量 1.新建一个aa.py文件 2.新建一个bb.py文件 将变量和函数功能分开保存,这样可以简化自己的代码,看起来更简洁也便于维护,今天需要用到录入很多多维l ...

  7. 【Pycharm教程】PyCharm 配置 Python 项目运行和调试

    PyCharm 使用运行/调试配置来运行.调试和测试您的代码.每个配置都是一组命名的启动属性,它们定义要执行的内容以及应该使用的参数和环境. 使用不同的启动属性,您可以定义 PyCharm 用来执行脚 ...

  8. 我的文档目录环境变量_从.env文件中为NodeJS加载环境变量

    作者:Writer Staff 翻译:疯狂的技术宅 原文:https://coderrocketfuel.com/article/how-to-load-environment-variables-f ...

  9. pycharm python 依赖管理_怎么解决pycharm license Acti的方法_python

    这篇文章主要介绍了怎么解决pycharm license Acti的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 标题py ...

最新文章

  1. AI应届生年薪涨到40万了,你现在转行还来得及!
  2. oracle的高水位和低水位实验,Oracle 高水位问题
  3. ITK:Watch注册Registration
  4. Python基础-XML模块
  5. 生成二维码接口,前端调用接口将二维码显示在页面上
  6. Marketing Cloud的语音输入功能
  7. 知道答案吗?知道为什么是这个答案吗?
  8. java dochain,Java filter中的chain.doFilter详解
  9. python自定义异常_Python自定义异常
  10. python中创建类的作用_Python中类的创建与使用详解
  11. ASP.NET 页面双向静态化
  12. 音乐播放器 歌词同步滚动功能实现
  13. html5圆形进度条倒计时,时尚的圆形进度条样式的jQuery倒计时插件
  14. STM32F407获取OV5640摄像头图像及上位机解码(一维码二维码)
  15. 白光led 计算机模拟,高显色指数LED白光的色度学模拟方法研究
  16. MAC强制卸载软件 如遇“不能修改或删除“*”,因为macOS需要它”
  17. kali下生成木马的工具
  18. 【数据挖掘】关联规则之Galois Closure Based Approach(基于Galois闭包的方法)
  19. php中文的正则表达式_php 正则表达式匹配中文汉字
  20. latex写中文毕业论文(北交大博士毕业论文模版)

热门文章

  1. 模拟实现string其中的一些知识点
  2. 小甲鱼 OllyDbg 教程系列 (六) :PJ 软件功能限制(不修改jnz的非爆破方法)
  3. Metasploit
  4. Spring Data JPA 从入门到精通~@Version处理乐观锁的问题
  5. C++学习之路 | PTA乙级—— 1003 我要通过! (20分)(精简)
  6. android int 首位值_Android应用视图的管理者Window
  7. 汇编学习笔记(二):转移指令
  8. 堆排序时间复杂度_图解堆结构、堆排序及堆的应用
  9. html5 css3浏览器,五大主流浏览器CSS3和HTML5兼容性大比拼
  10. c++rpg黑框游戏_NO总本色出演断智大师兄,电竞魔音主C人《超级猎杀》一战成名...