2012-02-29 29 views
1

每当我尝试在Windows上使用Python过期时,我总是碰到带有导入语句的墙。 Python无法在Windows上找到任何东西 - 每次导入,即使是像时区故障一样的核心。如何在Windows上正确设置PYTHONPATH变量?

我知道这与PYTHONPATH环境变量有关。在我的情况下,Python被安装到“C:\ Python27”。我的PYTHONPATH看起来像这样:

C:\Python27;C:\Python27\DLLs;C:\Python27\Lib 

不过,没有什么会导入。我得到这样的错误:

File "D:\Code\Django\polls\models.py", line 3, in <module> 
    from django.utils import timezone 
ImportError: cannot import name timezone 

我的情况有什么问题?

+1

你是怎么在Windows上安装Django的? – 2012-02-29 02:08:35

+0

您是否已将python添加到PATH而不是python路径。您需要将c:/ pyhon27添加到您的路径中。另请参阅上述评论。 – 2012-02-29 03:38:42

+0

Django在Windows上:http://www.helicontech.com/articles/running-django-on-windows-with-performance-tests/ – Deane 2012-02-29 15:59:08

回答

2

看看using Python on Windows的官方文档,特别是关于finding modules的部分。

如果您未将它们安装到Python27\Libs\site-packages目录中,则必须将安装第三方模块的目录添加到您的PYTHONPATH

另一种选择是熟悉pipvirtualenv。这些工具使安装第三方模块变得轻而易举。虽然我不知道他们在Windows上的支持程度如何(我主要在Linux上进行Python开发)。

-1

virtualenv是不错的选择。
否则只需在路径中添加站点包。

+0

为什么它被低估? – sam 2012-03-05 05:51:38

+0

“在路径中添加站点包”。网站包中的所有内容都已放在Python路径中。 – 2012-05-02 23:59:53

2

PYTHONPATH =如果此变量存在于您的环境中,则当您使用任何导入语句时,Python会将其添加到模块的正常搜索路径;您通常不会修改此,因为行为良好的Python脚本将自行安装在site-packages目录中,Python默认会搜索此目录。

PATH =这是全局文件系统路径。您的操作系统将搜索此变量中列出的目录(从左到右),以在命令提示符处键入内容时查找命令。

为了使Python只能正常工作在Windows上,C:\Python27目录应该在PATH中列出。如果您以管理员身份运行安装程序,安装程序将修改全球PATH并为您添加此项。如果您将其作为普通用户安装,则需要手动修改PATH

要手动添加,请右键点击并选择Properties。点击Advanced,然后Environment Variables。您会看到两个框 - User VariablesSystem Variables。您只能编辑用户变量 - 系统变量需要管理员权限。

只需添加一个新的变量(或修改现有PATH)您还应该添加C:\Python27\ScriptsPATH通过Python脚本作为安装大多数命令(如django-admin.py)在这里安装的。目录之间由;

一旦你完成了这一点; python应该可以在Windows上正常工作。