Tag: pythonpath

添加到pythonpathmac os x

我想 import sys sys.path.append("/home/me/mydir") 在我的pythonpath中添加一个dir 如果我打印sys.path我的目录在那里。 然后我打开一个新的命令,现在不在了。 但不知何故,Python不能导入我保存在该目录中的模块。 我究竟做错了什么? 我读.profile或.bash_profile会做的伎俩。 我必须添加: PATH="/Me//Documents/mydir:$PYTHONPATH" export PATH 为了使它工作?

在Python中放置configuration文件的位置?

在开发模式下,我有以下目录树: | my_project/ | setup.py | my_project/ | __init__.py | main.py | conf/ | myproject.conf 我使用ConfigParser来parsingmyproject.conf文件。 在我的代码中,很容易用一个好的path加载文件: my_project/conf/myproject.conf 问题是:当我使用setup.py安装我的项目时,configuration文件(位于setup.py)位于/etc/my_project/myproject.conf ,我的应用程序位于/usr/lib/python<version>/site-packages/my_project/ 。 如何在“生产”模式下将my_project/conf/myproject.conf文件引用到我的项目中,并在“devel”模式下引用本地文件( my_project/conf/myproject.conf )。 另外,如果可能的话,我希望是可移植的(例如在Windows上工作)。 有什么好的做法呢?

如何用VM和PyCharmconfiguration自定义的PYTHONPATH?

我正在使用IntelliJ与Python插件和远程解释器function与我的Vagrant虚拟机进行通信。 它正确设置远程解释器来使用我的虚拟机的解释器。 但是,我在我的虚拟机中使用了自定义的PYTHONPATH,并且我希望IntelliJ能够识别该path,并在开发时将这些模块包含在该path中。 如何configurationIntelliJ / PyCharm的远程解释器在VM上使用自定义的PYTHONPATH?

Python – 在命令行模块运行期间添加PYTHONPATH

我想运行: python somescript.py somecommand 但是,当我运行这个我需要PYTHONPATH包括一个特定的目录。 我不能只是将它添加到我的环境variables,因为我想添加基于我正在运行的项目的更改的目录。 运行脚本时是否有办法改变PYTHONPATH ? 注意:我甚至没有PYTHONPATHvariables,所以在运行这个脚本的过程中,我不需要担心是否需要追加它。

PYTHONPATH与sys.path

另一位开发者和我不同意应该使用PYTHONPATH还是sys.path来允许Python在用户(例如,开发)目录中find一个Python包。 我们有一个典型的目录结构的Python项目: Project setup.py package __init__.py lib.py script.py 在script.py中,我们需要import package.lib 。 当软件包安装在站点包中时,script.py可以findpackage.lib 。 但是,从用户目录进行工作时,还需要做其他事情。 我的解决scheme是设置我的PYTHONPATH包括“〜/项目”。 另一个开发者想把这行代码放在script.py的开头: sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) 所以Python可以findpackage.lib的本地副本。 我认为这是一个坏主意,因为这条线只对开发者或从本地副本运行的人有用,但我不能给出一个很好的理由,为什么这是一个坏主意。 我们应该使用PYTOHNPATH,sys.path,还是罚款?

将目录添加到sys.path / PYTHONPATH

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

PyLint“无法导入”错误 – 如何设置PYTHONPATH?

我从Windows的Wing IDE里面运行PyLint。 我有一个子目录(包)在我的项目,并在包内我从顶层导入模块,即。 __init__.py myapp.py one.py subdir\ __init__.py two.py 在two.py里面我已经import one并且在运行时工作正常,因为顶层目录(从中运行myapp.py )位于Pythonpath中。 但是,当我运行PyLint two.py它给我一个错误: F0401: Unable to import 'one' 我该如何解决?

django导入错误 – 没有名为core.management的模块

好的,我看到很多这些错误。 我已经尝试了所有我知道要做的事情,但还没有弄明白。 我正在开发运行python 2.5和Django 1.3的开发服务器。 解压缩tar.gz下载后,使用python setup.py install安装Django 1.3。 一切运作良好,我很less有需要运行manage.py但试图使用新的静态文件应用程序,并遇到问题。 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 sys >>> […]

如何找出我的pythonpath使用python?

如何从Python脚本(或交互式shell)中找出哪些目录在我的系统的PYTHONPATHvariables中列出?

为什么使用sys.path.append(path)而不是sys.path.insert(1,path)?

编辑:基于Ulf Rompe的评论, 重要的是你使用“1”而不是“0” ,否则你会打破sys.path 。 我一直在做python了一段时间(一年多),而且我总是困惑,为什么人们推荐你使用sys.path.append()而不是sys.path.insert() 。 让我来certificate一下。 比方说,我正在研究一个名为PyWorkbooks(安装在我的计算机上)的模块,但是我正在同时使用一个包含PyWorkbooks的不同模块(比方说PyJob)。 当我在PyJob上工作时,我在PyWorkbooks中发现错误,所以我想导入一个开发版本。 有两种方法可以同时工作(例如,我可以将PyWorkbooks项目放在PyJob中),但是有时我仍然需要使用path。 但是, 我不能简单地执行一个sys.path.append()到PyWorkbooks所在的文件夹 。 为什么? 因为python会先find我安装的PyWorkbook! 这就是为什么你必须做一个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) ,就好像你正在手动插入一个我认为是的path安全地说,这是你想要使用的path! 或者我有什么问题? 这是一个困扰我的问题,我希望它公开!