问题标签 [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.
python - 在python3中导入漂亮的汤
我正在尝试在 python3 中导入 beautifulsoup。我有这条线:
它说:
我看到它仍在尝试使用 python2.7 包。我已经使用 pip3 为 python3 安装了 beautifulsoup,并在检查时发现该包在 /usr/lib/python3/dist-packages/ 中。
同样在检查 sys.path 时,我发现该路径存在。仍然我不明白为什么它试图使用旧包,
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 仍然是错误的并且包不加载。
任何人的想法?非常感谢您的帮助。
python - raspbian上的python导入错误
我被困在看似简单但似乎无法解决的事情上。我正在尝试使用 indigo 发行版在树莓派上构建 ROS 包。我能够在 ubuntu 上构建包,以某种方式设法在 edison-ubilinux 上构建它,但我对 RPi 没有运气。这里的错误信息:
python路径看起来也不错:
我在文件夹中添加了一个空白的init .py,而 catkin 已经有了一个。此外,我尝试使用 python IDE 导入 catkin,但即使在文件 thaqt 的开头附加到我的库的路径也不会再次编译,但再次没有运气。
我的 sys.path 与我的 PYTHONPATH 不同
再加上它甚至在 python IDE 中也不起作用。请帮忙!!!!
谢谢你
python - 无法在 Python 2.7 中导入自己的包
我在我的程序中导入自己的包时遇到了一些麻烦,所以我创建了一个测试文件夹来尝试了解我做错了什么。
这是最简单的事情,但我仍然无法让它工作。
这是我的文件夹结构:
两个init
文件都是空的。
mod1
看起来像这样:
mod2
看起来像这样
在 PyCharm 中运行代码时,一切正常!但是当尝试从 cmd 执行时,我得到了ImportError: No module named pack1.mod1
是sys.path.insert(0, "../pack1")
我唯一的选择,还是 cmd 不合作的其他原因?
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-packages
mock
sys.path
从修改的来源来看,这似乎是故意的easy-install.pth
。
问题
反正有没有禁用它弄乱dist-packages
我的位置sys.path
?我的dist-packages
目录中有其他模块,这些模块被赋予了不必要的优先级。
python - Spyder IPython 和“普通”IPython sys.path 之间的区别
当我使用 IPython 时,我希望能够导入一些模块。我有时从命令行使用 IPython,有时我也使用 Anaconda Spyder 的 IPython。我在 .bashrc 文件中附加了 PYTHONPATH 环境变量,以包含包含我要导入的模块的目录。
现在,当我在命令行启动 IPython 时,一切正常。如果我导入 sys,然后键入 sys.path,我包含的新目录就在那里。
但是,当我在 Anaconda Spyder 的 Ipython 中做同样的事情时,sys.path 略有不同(有一些额外的目录)并且不包含我的模块新添加的目录。
为什么是这样?
python - 从 Python 脚本获取当前目录的父目录
我想从 Python 脚本中获取当前目录的父目录。例如,/home/kristina/desire-directory/scripts
在这种情况下,我从期望路径启动脚本是/home/kristina/desire-directory
我知道sys.path[0]
从sys
。但我不想解析sys.path[0]
结果字符串。有没有其他方法可以在 Python 中获取当前目录的父目录?
python - Python 导入如何真正起作用?在进口链中
嗨,Pythonista 同胞,
虽然我已经使用 Python 进行编码已经有一段时间了,但最近我发现我对 Python 的导入机制的理解存在一些问题。
我希望你们能帮助我。提前致谢。非常感谢您的帮助。
设置
python文件的内容如下:
myprogram
它的任何子目录都不在环境PYTHONPATH
变量中。
我目前的理解
执行流程:
开始运行
run.py
。包含目录的路径PATH/myprogram
被添加到sys.path
.执行语句
from mypackage import foo
。由于我们现在PATH/myprogram
在 中sys.path
,解释器可以找到mypackage
,然后找到foo.py
没有问题。开始运行
foo.py
,解释器将包含目录的路径添加PATH/myprogram/mypackage
到sys.path
.此时,
PATH/myprogram
和PATH/myprogram/mypackage
都包含在 中sys.path
。执行语句
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。
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 目录下。
有没有办法确保正确附加路径?
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。
编辑好吧,我重新启动了命令提示符,现在它可以工作了......我猜想删除树冠路径变量还没有生效。