1

我在 Windows 上安装了 wsl Ubuntu 20.04 LTS 版本以使用 turicreate。但是我在使用 csv 文件时遇到了一些问题,我将它从我的下载文件夹移到了 venv 文件夹所在的 /home/user 中。在第一行我 !pip 安装 turicreate 并运行 要求已经满足然后导入 turicreate 并运行

sf = turicreate.SFrame(r'people-example.csv')

并得到了输出

OSError                                   Traceback (most recent call last)
~/MLvenv/lib/python3.8/site-packages/turicreate/data_structures/sframe.py in _read_csv_impl(cls, url, delimiter, header, error_bad_lines, comment_char, escape_char, double_quote, quote_char, skip_initial_space, column_type_hints, na_values, line_terminator, usecols, nrows, skiprows, verbose, store_errors, nrows_to_infer, true_values, false_values, _only_raw_string_substitutions, **kwargs)
   1093             with cython_context():
-> 1094                 errors = proxy.load_from_csvs(internal_url, parsing_config, type_hints)
   1095         except Exception as e:

cy_sframe.pyx in turicreate._cython.cy_sframe.UnitySFrameProxy.load_from_csvs()

cy_sframe.pyx in turicreate._cython.cy_sframe.UnitySFrameProxy.load_from_csvs()

OSError: Cannot open /home/anagene/people-example.csv for read. Cannot open /home/anagene/people-example.csv for reading

During handling of the above exception, another exception occurred:

OSError                                   Traceback (most recent call last)
~/MLvenv/lib/python3.8/site-packages/turicreate/data_structures/sframe.py in __init__(self, data, format, _proxy)
    825                     url = data
--> 826                     tmpsf = SFrame.read_csv(url, delimiter=",", header=True)
    827                     self.__proxy__ = tmpsf.__proxy__

~/MLvenv/lib/python3.8/site-packages/turicreate/data_structures/sframe.py in read_csv(cls, url, delimiter, header, error_bad_lines, comment_char, escape_char, double_quote, quote_char, skip_initial_space, column_type_hints, na_values, line_terminator, usecols, nrows, skiprows, verbose, nrows_to_infer, true_values, false_values, _only_raw_string_substitutions, **kwargs)
   1555 
-> 1556         return cls._read_csv_impl(
   1557             url,

~/MLvenv/lib/python3.8/site-packages/turicreate/data_structures/sframe.py in _read_csv_impl(cls, url, delimiter, header, error_bad_lines, comment_char, escape_char, double_quote, quote_char, skip_initial_space, column_type_hints, na_values, line_terminator, usecols, nrows, skiprows, verbose, store_errors, nrows_to_infer, true_values, false_values, _only_raw_string_substitutions, **kwargs)
    985                 # Get the first nrows_to_infer rows (using all the desired arguments).
--> 986                 first_rows = SFrame.read_csv(
    987                     url,

~/MLvenv/lib/python3.8/site-packages/turicreate/data_structures/sframe.py in read_csv(cls, url, delimiter, header, error_bad_lines, comment_char, escape_char, double_quote, quote_char, skip_initial_space, column_type_hints, na_values, line_terminator, usecols, nrows, skiprows, verbose, nrows_to_infer, true_values, false_values, _only_raw_string_substitutions, **kwargs)
   1555 
-> 1556         return cls._read_csv_impl(
   1557             url,

~/MLvenv/lib/python3.8/site-packages/turicreate/data_structures/sframe.py in _read_csv_impl(cls, url, delimiter, header, error_bad_lines, comment_char, escape_char, double_quote, quote_char, skip_initial_space, column_type_hints, na_values, line_terminator, usecols, nrows, skiprows, verbose, store_errors, nrows_to_infer, true_values, false_values, _only_raw_string_substitutions, **kwargs)
   1093             with cython_context():
-> 1094                 errors = proxy.load_from_csvs(internal_url, parsing_config, type_hints)
   1095         except Exception as e:

~/MLvenv/lib/python3.8/site-packages/turicreate/_cython/context.py in __exit__(self, exc_type, exc_value, traceback)
     49                 # To hide cython trace, we re-raise from here
---> 50                 raise exc_type(exc_value)
     51             else:

OSError: Cannot open /home/anagene/people-example.csv for read. Cannot open /home/anagene/people-example.csv for reading

During handling of the above exception, another exception occurred:

OSError                                   Traceback (most recent call last)
<ipython-input-8-d54163f18f67> in <module>
----> 1 sf = turicreate.SFrame(r'people-example.csv')

~/MLvenv/lib/python3.8/site-packages/turicreate/data_structures/sframe.py in __init__(self, data, format, _proxy)
    836                     pass
    837                 else:
--> 838                     raise ValueError("Unknown input type: " + format)
    839 
    840     @staticmethod

~/MLvenv/lib/python3.8/site-packages/turicreate/_cython/context.py in __exit__(self, exc_type, exc_value, traceback)
     48             if not self.show_cython_trace:
     49                 # To hide cython trace, we re-raise from here
---> 50                 raise exc_type(exc_value)
     51             else:
     52                 # To show the full trace, we do nothing and let exception propagate

OSError: Cannot open /home/anagene/people-example.csv for read. Cannot open /home/anagene/people-example.csv for reading
4

1 回答 1

0

有完全相同的问题,通过在 ubuntu 上执行以下代码为每个人提供文件访问权限来解决: sudo chmod a+rwx /home/anagene/people-example.csv 其中后一部分是文件路径。

将文件名 a/c 更改为您的查询,以便您可以直接使用上述代码。

于 2020-12-02T05:39:25.213 回答