Ubuntu下添加Python环境变量

时间:2024-03-11 09:55:06

最近把自己在windows上的Django项目放在的Ubuntu上,启动时提示找不到模块

原来是自己的项目用的是虚拟环境,安装的第三方库全部在虚拟环境中 AutoTestSite/venv/Lib/site-packages

在Ubuntu中查看模块搜索路径:

chen@ubuntu:~$ python
Python 2.7.12 (default, Nov 12 2018, 14:36:49) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
[\'\', \'/home/chen\', \'/usr/lib/python2.7\', \'/usr/lib/python2.7/plat-x86_64-linux-gnu\', \'/usr/lib/python2.7/lib-tk\', \'/usr/lib/python2.7/lib-old\', \'/usr/lib/python2.7/lib-dynload\', \'/usr/local/lib/python2.7/dist-packages\', \'/usr/lib/python2.7/dist-packages\']

发现并没有这个路径:AutoTestSite/venv/Lib/site-packages

所以需要添加路径:

编辑文件 sudo vi .bashrc ,在最下方添加:

export PYTHONPATH="/home/**/**/venv/Lib/site-packages:$PYTHONPATH"

 

chen@ubuntu:~$ sudo vi .bashrc 

# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don\'t do anything
case $- in
    *i*) ;;
      *) return;;
esac

# don\'t put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth

# append to the history file, don\'t overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar


# add python project autotestsite module search path assress
export PYTHONPATH="/home/guchen/python/www/for_test/AutoTestSite/venv/Lib/site-packages:$PYTHONPATH"

执行:source .bashrc

使修改生效

再次查看sys.path,已经添加了

chen@ubuntu:~$ python
Python 2.7.12 (default, Nov 12 2018, 14:36:49) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
[\'\', \'/home/chen/python/www/AutoTestSite/venv/Lib/site-packages\', \'/home/chen\', \'/usr/lib/python2.7\', \'/usr/lib/python2.7/plat-x86_64-linux-gnu\', \'/usr/lib/python2.7/lib-tk\', \'/usr/lib/python2.7/lib-old\', \'/usr/lib/python2.7/lib-dynload\', \'/usr/local/lib/python2.7/dist-packages\', \'/usr/lib/python2.7/dist-packages\']