设置python路径

use*_*021 3 python django path

我有一个Django应用程序,每当我尝试运行我的代码时出现错误:

Error: No module named django_openid
Run Code Online (Sandbox Code Playgroud)

让我退一步告诉你我是怎么做到的:

  1. 我格式化了我的计算机并完全重新安装了所有内容 - 包括virtualenv,以及我的项目所需的所有依赖包(除了Django)基于我的requirements.txt文件夹中的设置
  2. 我试过了python manage.py syncdb,得到了错误

我搜索了这个问题,很多人说这可能是一个路径问题.

我对如何更改路径变量感到困惑,以及它们到底意味着什么.我找到了一些文档,但有点像一个黑客入侵的菜鸟,它有点过头了.

所以我的问题是:

  1. 它们的目的究竟是什么 - 它们是基于Python版本的基于系统的级别还是依赖于项目?
  2. 我如何才能看到我们目前的情况?
  3. 我怎样才能改变它们(即,他们所说的.profile文件在哪里,我可以只使用文本编辑器)

任何你输入的输入都会很棒,因为这个输入我很难,我只想回到编写代码:-)

Val*_*ior 5

path只是文件系统中python将搜索您要导入的模块的位置.例如,当您运行时import somemodule,Python将somemodule在路径(sys.path变量)中包含的所有位置中执行搜索.

你应该检查模块中的path属性sys:

import sys
print sys.path
Run Code Online (Sandbox Code Playgroud)

它只是一个常规列表,你可以追加/删除元素:

sys.path.append('/path/to/some/module/folder/')
Run Code Online (Sandbox Code Playgroud)

如果你想改变你开始的每个python会话的路径,你应该创建一个在启动时加载的文件,这样做:

  1. 创建PYTHONSTARTUP环境变量并将其设置为启动文件.例如:( PYTHONSTARTUP=/home/user/.pythonrc在unix shell中);
  2. 编辑启动文件,使其包含加载python时要自动执行的命令;

一个例子.pythonrc可能是:

import sys
sys.path.append('/path/to/some/folder/')
Run Code Online (Sandbox Code Playgroud)