小编use*_*051的帖子

Python3.6错误:ModuleNotFoundError:没有名为“ src”的模块

我知道之前曾问过类似的问题...但是我有一个很快的疑问...我一直在关注此链接:https : //www.python-course.eu/python3_packages.php

我的代码结构:

my-project
  -- __init__.py
  -- src
      -- __init__.py
      -- file1.py
  -- test
      -- __init__.py
      -- test_file1.py
Run Code Online (Sandbox Code Playgroud)

test_file1.py:

import unittest
from src.file1 import *

class TestWriteDataBRToOS(unittest.TestCase):
    def test_getData(self):
    sampleData = classInFile1()
    sampleData.getData()
    self.assertNotEqual(sampleData.usrname, "")

if __name__ == '__main__':
    unittest.main()
Run Code Online (Sandbox Code Playgroud)

在这里我得到错误:

ModuleNotFoundError: No module named 'src'
Run Code Online (Sandbox Code Playgroud)

如果我更改为:

import sys
sys.path.insert(0, '../src')
import unittest
from file1 import *
Run Code Online (Sandbox Code Playgroud)

然后就可以了!

有人可以帮我理解为什么它不起作用,就像上面粘贴的链接中所描述的那样,或者以其他替代方式代替了编写sys.path.insert(0, '../src')语句。

谢谢!

编辑:

从my-project目录执行后:python -m unittest test / test_file1 / TestWriteDataBRToOS我收到上面更新的错误。

Traceback (most recent call last):
File …
Run Code Online (Sandbox Code Playgroud)

python-unittest python-3.6

6
推荐指数
4
解决办法
2万
查看次数

AnalysisException:路径不存在:dbfs:/databricks/python/lib/python3.7/site-packages/sampleFolder/data;

我将以下代码打包到 whl 文件中:

from pkg_resources import resource_filename
def path_to_model(anomaly_dir_name: str, data_path: str):
    filepath = resource_filename(anomaly_dir_name, data_path)
    return filepath
def read_data(spark) -> DataFrame:
    return (spark.read.parquet(str(path_to_model("sampleFolder", "data"))))
Run Code Online (Sandbox Code Playgroud)

我确认whl文件正确包含sampleFolder/data/目录下的镶木地板文件。当我在本地运行它时,它可以工作,但是当我将此 whl 文件上传到 dbfs 并运行时,我收到此错误:

AnalysisException: Path does not exist: dbfs:/databricks/python/lib/python3.7/site-packages/sampleFolder/data;
Run Code Online (Sandbox Code Playgroud)

我确认这个目录实际上不存在: dbfs:/databricks/python 知道这个错误可能是什么吗?

谢谢。

python pkg-resources parquet python-wheel databricks

5
推荐指数
2
解决办法
7463
查看次数

fragment_display_message:我的第一个Android应用程序错误

我是第一次开发移动应用程序

环境:Eclipse Kepler,Java 1.7后端:

我按照以下步骤操作:

1)安装Android SDK并运行Android SDK Manager,并安装所需的文件

2)安装的ADT Eclipse ADT插件:https://dl-ssl.google.com/android/eclipse

在一些标准文档的这个阶段,它说你必须现在创建一个AVD,AVD图标被假设出现在我的工具栏中,但我无法在任何地方找到它.

现在,我正在尝试开发我的第一个应用程序,如本网站所示:http://developer.android.com/training/basics/firstapp/index.html

我正在添加我的代码片段,如下所示:

main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

strings.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">My First App</string>
<string name="edit_message">Enter a message</string>
<string name="button_send">Send</string>
<string name="action_settings">Settings</string>
<string name="title_activity_main">MainActivity</string>
<string name="uploading">Uploading…</string>
<string name="hello_world">Hello world!</string>
<string name="title_activity_display_message">DisplayMessageActivity</string>
</resources>
Run Code Online (Sandbox Code Playgroud)

AndroidManifest.xml:

<!--  <?xml version="1.0" encoding="utf-8" standalone="no"?> -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.amazon.demo"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
    android:minSdkVersion="16" 
    android:targetSdkVersion ="20" />
<uses-permission android:name="android.permission.INTERNET" /> …
Run Code Online (Sandbox Code Playgroud)

java xml android eclipse-kepler

3
推荐指数
1
解决办法
6529
查看次数

使用 shell 遍历 yaml

我有一个 config_file.yml 文件:

sample:
    sql: "select * from dbname.tableName where sampleDate>='2018-07-20';"
    config: {'hosts': [!!python/tuple ['192.162.0.10', 3001]]}

sample2:
    sql: "select * from dbname.tableName where sampleDate<='2016-05-25';"
    config: {'hosts': [!!python/tuple ['190.160.0.10', 3002]]}
Run Code Online (Sandbox Code Playgroud)

我想使用 shell 脚本遍历它的键值对直到 EOF。基本上我希望能够遍历每个 sql 直到 EOF,并在 shell 循环中执行每个 sql。

尝试查看大量文档,但他们没有足够的信息如何使用 shell 循环遍历 yaml。

任何想法或例子都会非常有帮助......

谢谢!

编辑:

我已经在使用 ->

parse_yaml() {
local prefix=$2
local s='[[:space:]]*' w='[a-zA-Z0-9_]*' fs=$(echo @|tr @ '\034')
sed -ne "s|^\($s\)\($w\)$s:$s\"\(.*\)\"$s\$|\1$fs\2$fs\3|p" -e "s|^\($s\)\($w\)$s:$s\(.*\)$s\$|\1$fs\2$fs\3|p" $1 |
awk -F$fs '{
  indent = length($1)/2;
  vname[indent] = $2;
  for (i in vname) { …
Run Code Online (Sandbox Code Playgroud)

bash shell yaml loops

1
推荐指数
1
解决办法
5601
查看次数