问题标签 [sys.path]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1437 浏览

python - 更改 sys.path 以阅读文档

我正在用 sphinx 在本地记录我的金字塔项目。本地autodoc工作正常,文档看起来像我想要的那样。

但是,如果我使用 read the docs,每次使用 autodoc 功能都会收到以下错误:

/home/docs/checkouts/readthedocs.org/user_builds/buchungssystem/checkouts/latest/docs/source/02database/02models.rst:8: WARNING: autodoc: failed to import class u'Person' from module u'buchungssystem.models.person'; the following exception was raised: Traceback (most recent call last): File "/home/docs/checkouts/readthedocs.org/user_builds/buchungssystem/envs/latest/local/lib/python2.7/site-packages/sphinx/ext/autodoc.py", line 385, in import_object __import__(self.modname) ImportError: No module named buchungssystem.models.person

我的项目结构如下:

我认为我的 sys.path 配置不正确。在尝试了很多之后我又回来了sys.path.insert(0, os.path.abspath('.'))

0 投票
1 回答
187 浏览

python - Python识别模块的文件路径

常规os.path.dirname(__file__)在我目前所处的特殊环境中不起作用。我希望这不会产生影响,但它是 Jython 2.7。

如果我os.path.dirname(__file__)从函数内部调用它就可以了。

版本 1(工作)

酒吧.py

版本 2(不起作用,见上面的 NameError)

扩展名.py

知道为什么吗?它与Jython有关吗?还是因为它在里面class?还是因为它继承了某些东西?

当前的解决方法

扩展名.py

0 投票
2 回答
1071 浏览

python - 扭曲试验,PYTHONPATH 和 sys.path

我正在尝试从http://twistedmatrix.com/documents/current/core/howto/trial.html的“Twisted 测试驱动开发”中重现示例。

我创建了文件:

我修改了 PYTHONPATH:

我调用了试验:

Python 没有找到我的模块。

但是如果我调用 python shell 并尝试导入我的模块,python 会导入它们。

然后我在文件“ /usr/lib/python2.7/site-packages/twisted/python/reflect.py ”中添加了一行“ sys.path.append('/home/xxx/twistedm/calculus/..') ” ”。现在一切正常。

所以我发现 Trial 在 sys.path 中查找模块,并且在命令行上设置 PYTHONPATH 对 sys.path 没有影响。

问题是如何在调用试用时从命令行修改 sys.path。

0 投票
1 回答
1624 浏览

python - 在不同目录中运行脚本时将本地文件添加到 python 搜索路径

我编写了一个 python 脚本“Script.py”,当我将它复制到我想要运行它的目录中时它可以工作。我经常运行这个脚本,所以我想将它添加到 .bashrc,所以我不必复制它进入我需要运行它的每个目录。

所以脚本在目录中:

现在我想在目录中运行这个脚本:

脚本的一部分是导入不同的文件(这对于每个测试用例都是唯一的)。这个文件的位置是:

如果我从“Test1”目录开始并运行“Script.py”,我会收到以下错误:

如果我将脚本放入从 (/home/Documents/Test1/) 运行它的目录中,则不会出现错误。我认为脚本正在“/home/python”目录中查找 equations.py 文件,而不是我从中运行脚本的本地文件。

我的问题是我如何告诉脚本以一般方式在本地目录中查找 equations.py 文件,以便我可以从任何目录运行 Script.py 并让它知道在它正在运行的那个目录中查找方程式.py?

0 投票
1 回答
4611 浏览

python - 如何从 sys.path 中永久删除值?

出于某种原因,“”值(空值)被添加到我的 sys.path 数组中,我无法运行“setup.py install”。我找不到永久删除它的方法。我是通过 python shell 做到的:

并将其删除,直到关闭外壳。我找不到永久删除的好答案。我确实找到了这个 -什么用 Python 设置 sys.path,什么时候? 但我相信一定有更好的方法。

0 投票
1 回答
35 浏览

python-2.7 - 如何从不同位置的另一个文件夹导入模块[Python]?

我有这样的文件夹结构。

我想在 file1.py 中导入 file2 ,我试过from B.B1.B2.file2 import *但没有奏效。如何在 file1.py 中导入 file2?

0 投票
1 回答
93 浏览

python - 为多个开发人员管理 sys.path

我面临的问题很小但很烦人:

一位同事正在开发版本控制系统 X (VCS-X) 中的一个项目。另一位同事正在另一个版本控制系统 Y 中工作,并使用 X 中的包。

不幸的是,VCS-X 中的同事使用本地导入并sys.path.append('trunk/my_location')在他们的代码中修改了他的路径。

我的观点是,这是错误的做法,因为 X 中的同事强迫 Y 同事在能够运行代码之前对其进行编辑,仅仅是因为他们的 repo 命名不同。

应该如何管理这些依赖关系?

例子:

开发商 X

开发商 Y

步骤1:

第2步:

第 3 步:

“......叹了口气;代码正在运行......”

0 投票
1 回答
2909 浏览

python - How Do I Permanently Append To Python's sys.path

I'm trying to import some of my own modules on my mac and I can't figure out how to add the path to my modules. I have tried editing the PYTHONPATH environment variable, (export PYTHONPATH="${PYTHONPATH}:/path/to/modules) appending the path to sys.path, etc. Nothing seems to work for me. I want the path to be in sys.path permanently so that I don't need to keep putting import sys then sys.path.append("/path/to/modules") at the top of every document that I make. Is there a file somewhere that contains the path that I could edit? Or do I need to enter a command into terminal or something? Any help is appreciated.

0 投票
0 回答
187 浏览

sys.path - python.path.append() 无法访问上面的 2 个目录 - Windows10

我正在尝试在程序本身之外创建一个单元测试文件夹。该程序的结构如下:

从 TestFile_1.py 访问代码的路径是

系统找不到 Folder_1 目录。以下代码也经过了测试,但产生了相同的结果:sys.path.insert(2, "TheProgram/Folder_1"). TheProgram和文件夹都unittest在同一个目录中。

在这种情况下,如何从 TestFile_1.py 访问 File_1.py?

0 投票
1 回答
1661 浏览

python - 将 python 包安装到 sys.path

我是 python3 的新手,我想创建一个可以从其他 python 脚本导入的包。

所以我创建了我的包并运行

python3 setup.py sdist

创建我的压缩包。

当我将它移动到另一个目录以解压缩它然后安装包时

python3 setup.py install -user --prefix=

很好,没有错误,它安装在我的 python 站点包中,当我运行 python3 时,我可以导入我的 lib 并调用它的函数。

但是当我想在脚本中导入这个包时它告诉我

ImportError:没有名为 test_package.pck1.addition 的模块

我知道我可以添加

修复它,但我想避免这种情况,因为这意味着在尝试在另一个脚本中使用它时总是必须修改包的路径。

那么如何在不修改 sys.path 的情况下导入我的包。或者我怎样才能安装我的包,这样我的脚本就不需要它了。

我尝试了很多安装过程(使用 pip3,尝试不同的选项等),但没有像我预期的那样工作。