所以,我在Stack Overflow上看到了一些类似的问题,但似乎没有解决我的问题或一般情况.所以,希望这个问题可以解决这个问题,并且让我头痛不已.我有一个形式的git repo:
repo/
__init__.py
sub1/
__init__.py
sub1a/
__init.py
mod1.py
sub2/
__init__.py
mod2.py
Run Code Online (Sandbox Code Playgroud)
如何从mod1.py导入mod2.py,反之亦然,这取决于mod1.py或mod2.py是脚本(当每个分别导入 - 未导入时)如何变化?
我是python的新手.我写了一个程序,可以通过输入来执行python Filecount.py ${argument}为什么我看到我的老师只能通过输入来运行程序Filecount.py ${argument}.怎么实现呢?
在这里提到这个问题,我想知道PYTHONPATH首先定义在哪里.不是通过在bashrc(本地或全局)中定义它或通过任何其他方式将目录永久地添加到PYTHONPATH,我觉得如果将它添加到默认源本身中会更好.
我尝试了下面两种常见的方法,但它们没有起作用 - 因此这个[看似多余的]问题。
import sys
sys.path.append('foo/bar')
Run Code Online (Sandbox Code Playgroud)
和
export PYTHONPATH=$PYTHONPATH:foo/bar
Run Code Online (Sandbox Code Playgroud)
一旦解释器退出,第一个就会终止附加。当终端关闭时,第二个终止(尽管人们似乎对通过第二种方法永久附加没有问题)。
我在这里缺少什么以及如何解决这个问题?
谢谢。
所以,我正在尝试将 RDKit 添加到我在 PyCharm 中的项目中。我发现如果您使用解释器,/usr/bin/python2.7PyCharm 会尝试使用pip. 而 RDKit 需要conda. 我试图将解释器更改为conda,但RDKit要么不在列表中,要么无法打开带有 repo 的 URL。有谁知道如何解决这个问题?
顺便说一句,在安装东西的同时,是否有可能让解释器/usr/bin/python2.7使用其他任何东西(不是pip)?
有人可以建议解决以下错误吗?Python 3.5.1 / jpype1-py3 0.5.5.2 安装在 64 位 Windows 计算机上。我在 Lib 或 Lib/site-packages 中的任何位置都找不到 _jtype。
问候史蒂夫
>>> 导入jpype
回溯(最近一次调用最后一次):
文件“”,第 1 行,位于
导入 jpype
文件“C:\Program Files\Python35\lib\site-packages\jpype\__init__.py”,第 18 行,位于
从 ._jpackage 导入 *
文件“C:\Program Files\Python35\lib\site-packages\jpype\_jpackage.py”,第 18 行,位于
导入_jpype
ImportError: DLL 加载失败: 找不到指定的模块。
我必须处理在 AWS Elastic Beanstalk 上运行的现有 python (django) 应用程序。似乎所有要求(来自 requirements.txt)都安装在虚拟环境中(我希望我是对的)。我的问题是我使用 yum 安装了一些库。我的 beanstalk 实例的依赖项配置如下所示:
packages:
yum:
python27-devel: []
git: []
nginx: []
pcre-devel: []
freetype-devel: []
libpng-devel: []
postgresql93-devel: []
graphviz-devel: []
blas-devel: []
atlas-devel: []
lapack-devel: []
gcc-c++: []
python27-numpy: []
python27-matplotlib: []
python27-psycopg2: []
Run Code Online (Sandbox Code Playgroud)
如您所见,我显式安装了一些 python 库,如 numpy、matplotlib 和 psycopg2,但由于我的应用程序似乎在虚拟环境中运行,因此我的应用程序无法访问这些库,因此它在启动时崩溃。我得到了这种类型的错误:
命令在实例上失败。返回代码:1 输出:(TRUNCATED)....7/site-packages/django/db/backends/postgresql_psycopg2/base.py", line 20, in raise ImproperlyConfigured("Error loading psycopg2 module: %s" % e ) django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: No module named psycopg2. container_command 01_migrate in .ebextensions/02-python.config failed. 有关更多详细信息,请使用控制台检查 …
我一直在尝试添加自定义目录以PYTHONPATH遵循此帖子上的建议永久性地将目录添加到PYTHONPATH.我在Mac上使用bash,如果那是相关的.这就是我做的:
open ~/.bash_profileexport PYTHONPATH="${PYTHONPATH}:/Users/Zhengnan/Library/Python/2.7/lib/python/site-packages" 并保存 source ~/.bash_profile有两个问题:
sys.path在Python IDE中运行时,预期的目录仍然没有出现.sys.path那里运行时,dir确实出现了,但所有其他目录与我从上一步得到的不匹配.具体来说,这就是我sys.path在IDE中运行所得到的.无法找到预定的目录.
sys.path ['','/ Applications/Spyder-Py2.app/Constate/Reses','/ Applications/Spyder -Py2.app/Constate/Resess/lib/python27.zip','/ Applications/Spyder-Py2 .app/Contents/Resources/lib/python2.7','/ Applications/Spyder-Py2.app/Constate/Resess/lib/python2.7/plan -darwin','/ Applications/Spyder-Py2.app/Contents /Resources/lib/python2.7/plat-mac','/ Applications/Spyder-Py2.app/Contents/Resources/lib/python2.7/plat-mac/lib-scriptpackages','/ Applications/Spyder-Py2 .app/Contents/Resources/lib/python2.7/lib-tk','/ Applications/Spyder-Py2.app/Constate/Resess/lib/python2.7/lib-old','/ Applications/Spyder-Py2 .app/Contents/Resources/lib/python2.7/lib-dynload','/ Applications/Spyder-Py2.app/Constate/Resess/lib/python2.7/site-package.zip','/ Applications/Spyder -Py2.app/Contents/Resources/lib/python2.7/site-packages','/Applications/Spyder-Py2.app/Contents/Resources/lib/python2.7/IPython/extensions','/ Users/Zhengnan /.ipython']
这就是我sys.path从终端运行时得到的.预期的目录是列表中的第三个元素.
sys.path ['','/ Users/Zhengnan','/ Users/Zhengnan/Library /Python/2.7/lib/python/site-package','/ System/Library/Frame /Python.framework/Version/2.7 /lib/python27.zip','/ System/Library/Frameworks/Python.framework/Version/1.7/lib/python2.7','/ System/Library/Frame /Python.framework/Version/2.7/lib/python2 .7/plat-darwin','/ System/Library/Frame /Python.framework/Version/7.7/lib/python2.7/plat-mac','/ System/Library/Frame /Python.framework/Version/2.7 /lib/python2.7/plat-mac/lib-scriptpackages','/ System/Library/Frame /Python.framework/Version/7.7/Extras/lib/python','/ System/Library/Frame /Python.framework /Versions/2.7/lib/python2.7/lib-tk','/ System/Library/Frame /Python.framework/Version/7.7/lib/python2.7/lib-old','/ System/Library/Frameworks /Python.framework/Versions/2.7/lib/python2.7/lib-dynload','/ System/Library/Frame /Python.framework/Version/7.7/Extras/lib/python/PyybjC']
我应该提一下,我想添加这个自定义目录的原因PYTHONPATH是,每次我pip …
当我尝试从Linux终端运行代码时,我的导入不起作用.具体来说,从同一项目中的其他包导入.我知道这是一个PYTHONPATH问题,但我不知道如何进一步诊断或解决它.代码在IDE(eclipse)中运行良好.
我对永久解决方案感兴趣,猜测它将涉及编辑.bashrc.我只是想从命令行调用脚本,比如
python my_script.py
Run Code Online (Sandbox Code Playgroud)
os.environ["PYTHONPATH"] 在ipython终端中给出了一个关键错误.
我试过了
print os.getcwd()
print sys.path
Run Code Online (Sandbox Code Playgroud)
在IDE里面
/home/myname/workspace/project2/main
['/home/myname/workspace/project2/main', '/home/myname/workspacep/problem2', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_6
4-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/p
ython2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/pytho
n2.7/dist-packages/ubuntu-sso-client', '/usr/lib/pymodules/python2.7', '/usr/lib/python2.7/lib-old']
Run Code Online (Sandbox Code Playgroud)
内部终端
/home/myname/workspace/project2/main
['/home/myname/workspace/project2/main', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client']
Run Code Online (Sandbox Code Playgroud) 我是Python新手。这真让我困惑!
我的目录结构是这样的:
Project
| - subpackage1
|- a.py
| - subpackage2
|- b.py
| - c.py
Run Code Online (Sandbox Code Playgroud)
当我导入a.pywithb.py时from subpackage1 import a,我得到一个ModuleNotFoundError。我似乎无法从父目录导入文件。
一些解决方案建议在每个目录中添加一个空文件__init__.py,但这不起作用。作为解决方法,我将以下内容放入每个子文件(即a.py和b.py)中以访问父目录:
import os
import sys
sys.path.append(os.path.abspath('..'))
Run Code Online (Sandbox Code Playgroud)
我尝试sys.path在子文件中输出,它只包含当前文件路径和anaconda路径,所以我必须附加..到sys.path.
我怎么解决这个问题?有更有效的方法吗?
python ×8
pythonpath ×3
python-2.7 ×2
amazon-ec2 ×1
append ×1
bash ×1
django ×1
import ×1
jpype ×1
macos ×1
pycharm ×1
python-3.x ×1
rdkit ×1
virtualenv ×1