问题标签 [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 投票
2 回答
8988 浏览

python - 在python3中导入漂亮的汤

我正在尝试在 python3 中导入 beautifulsoup。我有这条线:

它说:

我看到它仍在尝试使用 python2.7 包。我已经使用 pip3 为 python3 安装了 beautifulsoup,并在检查时发现该包在 /usr/lib/python3/dist-packages/ 中。
同样在检查 sys.path 时,我发现该路径存在。仍然我不明白为什么它试图使用旧包,

0 投票
1 回答
6470 浏览

python - virtualenv 使用不正确的 sys.path

刚才一切正常。我不知道我做了什么惹恼了 virtualenv,但它现在表现得很奇怪。任何帮助表示赞赏。

在制作 virtualenv 时,我使用以下命令:

现在我看到我安装的包pip install package没有被 python 加载。它们由 pip 正确安装到 venv/lib/python3.4/site-packages 目录中,但是我的 virtualenv 中的 python 没有在该目录中查找包。

在 Python 中:

这是错误的!它使用了错误的路径,它至少应该包括

所以我可以导入我的包。

实际上,在 Python 中打开了一个 virtualenv:

作品!!

但我不想每次使用 Python 时都必须手动附加此路径。我做了一些事情让 sys.path 很生气,我不知道那是什么。

我只是 sudo apt-get updated 和 sudo apt-get upgrade 以确保它不是冲突......没有骰子。

可能相关:

我注意到我的 virtualenv 命令输出以下行:

我不记得以前发生过这种情况。但是,即使我这样做virtualenv venv,(没有指定 Python 版本,并且没有出现该输出)我的 sys.path 仍然是错误的并且包不加载。

任何人的想法?非常感谢您的帮助。

0 投票
0 回答
714 浏览

python - raspbian上的python导入错误

我被困在看似简单但似乎无法解决的事情上。我正在尝试使用 indigo 发行版在树莓派上构建 ROS 包。我能够在 ubuntu 上构建包,以某种方式设法在 edison-ubilinux 上构建它,但我对 RPi 没有运气。这里的错误信息:

python路径看起来也不错:

我在文件夹中添加了一个空白的init .py,而 catkin 已经有了一个。此外,我尝试使用 python IDE 导入 catkin,但即使在文件 thaqt 的开头附加到我的库的路径也不会再次编译,但再次没有运气。

我的 sys.path 与我的 PYTHONPATH 不同

再加上它甚至在 python IDE 中也不起作用。请帮忙!!!!

谢谢你

0 投票
4 回答
964 浏览

python - 无法在 Python 2.7 中导入自己的包

我在我的程序中导入自己的包时遇到了一些麻烦,所以我创建了一个测试文件夹来尝试了解我做错了什么。

这是最简单的事情,但我仍然无法让它工作。

这是我的文件夹结构:

两个init文件都是空的。

mod1看起来像这样:

mod2看起来像这样

在 PyCharm 中运行代码时,一切正常!但是当尝试从 cmd 执行时,我得到了ImportError: No module named pack1.mod1

sys.path.insert(0, "../pack1")我唯一的选择,还是 cmd 不合作的其他原因?

0 投票
1 回答
219 浏览

python - 带有 `install_requires` 的`setup.py develop` 将`dist-packages` 放在 virtualenv 中`sys.path` 的顶部

我有一个目录~/foo,它所包含的只是setup.py

现在,我使用以下命令创建一个虚拟环境:

~/v1/bin/python -c "import sys; print sys.path",我得到

但是,当我这样做时

然后 setuptools 将我的 virtualenv 更改为sys.path靠近顶部的位置。即,成为的前 3 个条目:dist-packagesmocksys.path

从修改的来源来看,这似乎是故意的easy-install.pth

问题

反正有没有禁用它弄乱dist-packages我的位置sys.path?我的dist-packages目录中有其他模块,这些模块被赋予了不必要的优先级。

0 投票
1 回答
1941 浏览

python - Spyder IPython 和“普通”IPython sys.path 之间的区别

当我使用 IPython 时,我希望能够导入一些模块。我有时从命令行使用 IPython,有时我也使用 Anaconda Spyder 的 IPython。我在 .bashrc 文件中附加了 PYTHONPATH 环境变量,以包含包含我要导入的模块的目录。

现在,当我在命令行启动 IPython 时,一切正常。如果我导入 sys,然后键入 sys.path,我包含的新目录就在那里。

但是,当我在 Anaconda Spyder 的 Ipython 中做同样的事情时,sys.path 略有不同(有一些额外的目录)并且不包含我的模块新添加的目录。

为什么是这样?

0 投票
9 回答
155917 浏览

python - 从 Python 脚本获取当前目录的父目录

我想从 Python 脚本中获取当前目录的父目录。例如,/home/kristina/desire-directory/scripts在这种情况下,我从期望路径启动脚本是/home/kristina/desire-directory

我知道sys.path[0]sys。但我不想解析sys.path[0]结果字符串。有没有其他方法可以在 Python 中获取当前目录的父目录?

0 投票
1 回答
1027 浏览

python - Python 导入如何真正起作用?在进口链中

嗨,Pythonista 同胞,

虽然我已经使用 Python 进行编码已经有一段时间了,但最近我发现我对 Python 的导入机制的理解存在一些问题。

我希望你们能帮助我。提前致谢。非常感谢您的帮助。

设置

python文件的内容如下:

myprogram它的任何子目录都不在环境PYTHONPATH变量中。

我目前的理解

执行流程:

  1. 开始运行run.py。包含目录的路径PATH/myprogram被添加到sys.path.

  2. 执行语句from mypackage import foo。由于我们现在PATH/myprogram在 中sys.path,解释器可以找到mypackage,然后找到foo.py没有问题。

  3. 开始运行foo.py,解释器将包含目录的路径添加PATH/myprogram/mypackagesys.path.

  4. 此时,PATH/myprogramPATH/myprogram/mypackage都包含在 中sys.path

  5. 执行语句import bar。由于我们PATH/myprogram/mypackage添加了sys.path,所以 import 语句可以顺利执行,没有问题。

问题

运行后run.py,我发现所有print sys.path语句都产生相同的输出。它们都包含PATH/myprogram但不包含PATH\myprogram\mypackage,这与我上面的理解相矛盾。

似乎只为初始化进程的脚本添加了主目录路径。但是如果是这种情况,那么如果不在搜索路径import bar中,执行中的语句如何foo.py成功?PATH\myprogram\mypackage

顺便说一句,我在 MAC OS X 机器上使用 python 2.7。

0 投票
1 回答
119 浏览

windows - 使用 sys.path.append 时出错 - 函数复制路径不正确

我在使用 sys.path.append() 函数时遇到问题。当我尝试附加包含以数字开头的目录名称的路径时,目录名称不正确。例如: sys.path.append("C:Postgrad\2015\Records\20150528\RAMP_UP2") 返回: 'C:\Postgrad\x815\Records\x8150528\RAMP_UP2' 在 sys.path 目录下。

有没有办法确保正确附加路径?

0 投票
2 回答
868 浏览

python - ImportError:DLL 加载失败:%1 不是有效的 Win32 应用程序,仅当在 Python27 目录之外时

我对常见的“ImportError:DLL 加载失败:%1 不是有效的 Win32 应用程序”错误有一个奇怪的变体。当我在 python27 目录之外运行 python 脚本时尝试导入第 3 方库时,我只会收到此错误。例如,如果我在 python27 中执行“import numpy”,它工作正常,但如果我尝试在任何其他目录中导入 numpy,我会收到上述错误。本质上,我可以在任何目录中运行“python”,但如果我从 python27 目录运行它,则只能导入第 3 方库。如果有人对为什么会这样有任何想法,我将不胜感激。这是有关我的系统路径的一些信息。

适用的 Windows 系统路径:

PYTHONPATH = C:\Python27\Lib

PYTHONHOME = C:\Python27

sys.path 等于:

['', 'C:\Python27\Lib', 'C:\WINDOWS\SYSTEM32\python27.zip', 'C:\Python27\DLLs', 'C:\Python27\lib\plat-win', 'C :\Python27\lib\libtk', 'C:\Python27', 'C:\Python27\lib\site-packages', 'C:\Python27\lib\site-packages\win32', 'C:\Python27\ lib\site-packages\win32\lib', 'C:\Python27\lib\site-packages\Pythonwin']

如果我运行 win_add2path.py 我得到: 没有添加路径

PATH 现在是:C:\Users\Mike\AppData\Local\Enthought\Canopy\User;C:\Users\Mike\AppData\Local\Enthought\Canopy\User\Scripts;C:\Python27;C:\Python27\脚本

展开:C:\Users\Mike\AppData\Local\Enthought\Canopy\User;C:\Users\Mike\AppData\Local\Enthought\Canopy\User\Scripts;C:\Python27;C:\Python27\Scripts

我的一部分感觉 Enthought Canopy 路径搞砸了(该目录不再存在),但 Python27 路径也在那里,所以它不应该成为问题......

编辑:我相信我现在知道是什么导致了问题,但不知道如何解决它。所以显然 enthought canopy 文件夹中有一个 python.exe,这是我的计算机正在使用的,而不是 python27 中的那个(这很奇怪,因为我卸载了 enthought canopy)。但是,即使该目录已添加到我的系统路径中,我的计算机现在也无法在 python27 中找到 python.exe ......它给了我旧的“python 未被识别为内部或外部命令”shindig。

编辑好吧,我重新启动了命令提示符,现在它可以工作了......我猜想删除树冠路径变量还没有生效。