pycharm配置python环境变量_求教大家 pycharm 中,环境变量 path 的问题!
問題的發現
在 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 的问题!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python爬虫视频 下载 黑马_Pyt
- 下一篇: 北航教授吐槽研究生基本废了:985高校成