Questions tagged «pythonpath»

PYTHONPATH是一个环境变量,可用于增加Python中模块导入的默认搜索路径。

22
如何在Windows中添加到PYTHONPATH,以便找到我的模块/软件包?
我有一个托管所有Django应用程序的目录(C:\My_Projects)。我想将此目录添加到我的目录中,PYTHONPATH以便直接调用应用程序。 我尝试从Windows GUI()添加C:\My_Projects\;到Windows Path变量中My Computer > Properties > Advanced System Settings > Environment Variables。但是它仍然不读取coltrane模块并生成此错误: 错误:没有名为coltrane的模块



11
如何正确确定当前脚本目录?
我想看看确定python中当前脚本目录的最佳方法是什么? 我发现,由于调用python代码的方式很多,很难找到一个好的解决方案。 这里有一些问题: __file__如果脚本与执行没有定义exec,execfile __module__ 仅在模块中定义 用例: ./myfile.py python myfile.py ./somedir/myfile.py python somedir/myfile.py execfile('myfile.py') (来自另一个脚本,该脚本可以位于另一个目录中,并且可以具有另一个当前目录。 我知道没有完美的解决方案,但是我正在寻找能够解决大多数情况的最佳方法。 最常用的方法是,os.path.dirname(os.path.abspath(__file__))但是如果您使用来从另一个脚本执行脚本,则此方法实际上不起作用exec()。 警告 使用当前目录的任何解决方案都会失败,这可能会因调用脚本的方式而有所不同,或者可以在运行的脚本中进行更改。

29
django导入错误-没有名为core.management的模块
好的,我看到很多这些错误。我已经尝试了所有我想做的事情,但是还没有弄清楚。 我正在开发运行python 2.5和Django 1.3的开发服务器。在解压缩tar.gz下载文件后,使用python setup.py install安装了Django 1.3。 一切正常,我很少需要运行,manage.py但是正在尝试使用新的staticfiles应用程序,并且遇到了问题。 python manage.py collectstatic Traceback (most recent call last): File "manage.py", line 2, in <module> from django.core.management import execute_manager ImportError: No module named core.management 好的,所以我有PATH问题。 从Django安装中,我再次检查site-packages目录。 python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()" /usr/lib/python2.5/site-packages 好的,让我们检查一下我拥有的东西,echo $ PYTHON_PATH为空,所以我将其设置为 export PYTHON_PATH=/usr/lib/python2.5/site-packages/django 仍然没有运气。让我们检查sys.path怎么说 >>> import …

22
PyLint“无法导入”错误-如何设置PYTHONPATH?
我正在Windows的Wing IDE中运行PyLint。我的项目中有一个子目录(程序包),在程序包中,我从顶层(即)导入模块。 __init__.py myapp.py one.py subdir\ __init__.py two.py 在two.py我的内部import one,这在运行时效果很好,因为顶层目录(从中myapp.py运行)位于Python路径中。但是,当我在two.py上运行PyLint时,出现了一个错误: F0401: Unable to import 'one' 我该如何解决?

5
将目录添加到sys.path / PYTHONPATH
我正在尝试从特定目录导入模块。 问题是,如果我使用sys.path.append(mod_directory)追加路径然后打开python解释器,该目录mod_directory将添加到列表sys.path的末尾。如果我PYTHONPATH在打开python解释器之前导出变量,则目录将添加到列表的开头。在后一种情况下,我可以导入模块,但是在前一种情况下,我不能。 有人可以解释为什么会发生这种情况,并给我一个在 python脚本中将其添加mod_directory到开始的解决方案吗?

6
PYTHONPATH vs.sys.path
我和另一位开发人员不同意应该使用PYTHONPATH还是sys.path来允许Python在用户(例如,开发)目录中找到Python包。 我们有一个具有典型目录结构的Python项目: Project setup.py package __init__.py lib.py script.py 在script.py中,我们需要这样做import package.lib。当该软件包安装在site-packages中时,script.py可以找到package.lib。 但是,从用户目录工作时,还需要做其他事情。我的解决方案是将我的PYTHONPATH设置为包括“〜/ Project”。另一位开发人员希望将这行代码放在script.py的开头: sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) 以便Python可以找到的本地副本package.lib。 我认为这是一个坏主意,因为该行仅对开发人员或从本地副本运行的人有用,但是我不能给出一个很好的理由,说明它不是一个好主意。 我们应该使用PYTOHNPATH,sys.path还是很好?

3
为什么使用sys.path.append(path)代替sys.path.insert(1,path)?
编辑:根据Ulf Rompe的评论,重要的是使用“ 1”而不是“ 0”,否则将破坏sys.path。 我已经使用Python已有一段时间了(一年多了),而对于人们为什么建议您使用sys.path.append()而不是python,我一直感到困惑sys.path.insert()。让我示范一下。 假设我正在开发一个名为PyWorkbooks的模块(该模块已安装在我的计算机上),但同时我正在开发另一个包含PyWorkbooks的模块(例如PyJob)。当我在PyJob上工作时,我在PyWorkbooks中发现了我要纠正的错误,因此我想导入一个开发版本。 有两种方法可以同时使用这两种方法(例如,我可以将PyWorkbooks项目放置在PyJob内),但是有时我仍然需要遵循这条路。但是,我不能简单地对sys.path.append()PyWorkbooks所在的文件夹执行a。为什么?因为python会先找到我安装的PyWorkbooks! 这就是为什么您必须执行sys.path.insert(1,path_to_dev_pyworkbooks)的原因 综上所述: sys.path.append(path_to_dev_pyworkbooks) import PyWorkbooks # does NOT import dev pyworkbooks, imports installed one 要么: sys.path.insert(1, path_to_dev_pyworkbooks) # based on comments you should use **1 not 0** import PyWorkbooks # imports correct file 过去这给我带来了一些麻烦,如果我们(作为一个社区)开始推荐sys.path.insert(1, path),我真的很喜欢,就像您手动插入路径一样,我认为可以肯定地说这就是您想要的路径使用! 还是我有什么问题?这个问题有时会困扰我,我想在户外公开询问!

5
Python-在命令行模块运行期间添加PYTHONPATH
我要跑步: python somescript.py somecommand 但是,当我运行它时,我需要PYTHONPATH包括一个目录。我不能仅将其添加到我的环境变量中,因为我要添加的目录会根据我正在运行的项目进行更改。PYTHONPATH运行脚本时有没有办法改变?注意:我什至没有PYTHONPATH变量,因此我不必担心在运行此脚本期间将其追加或覆盖它。

10
如何使用VM和PyCharm配置自定义PYTHONPATH?
我正在将IntelliJ与Python插件和Remote Interpreter功能配合使用,以与我的Vagrant VM通信。它正确设置了远程解释器以使用我的VM的解释器。但是,我在VM中使用了自定义的PYTHONPATH,并且我希望IntelliJ能够识别该路径,并在开发时将模块包括在该路径中。 如何配置IntelliJ / PyCharm的远程解释器以在VM上使用自定义PYTHONPATH?

2
在导入语句之前设置pythonpath
我的代码是: import scriptlib.abc import scriptlib.xyz def foo(): ... some operations 但是scriptlib在其他目录中,因此我必须将该目录包含在环境变量“ PYTHONPATH”中。 无论如何,在执行导入语句之前,我首先可以在环境变量“ PYTHONPATH”中添加scriptlib目录: import sys sys.path.append('/mypath/scriptlib') import scriptlib.abc import scriptlib.xyz def foo(): ... some operations 如果是这样,则仅是该命令提示符的值还是全局的? 提前致谢
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.