質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
PyTorch

PyTorchは、オープンソースのPython向けの機械学習ライブラリ。Facebookの人工知能研究グループが開発を主導しています。強力なGPUサポートを備えたテンソル計算、テープベースの自動微分による柔軟なニューラルネットワークの記述が可能です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

4126閲覧

《ValueError: source code string cannot contain null bytes》❓

insecticide

総合スコア315

PyTorch

PyTorchは、オープンソースのPython向けの機械学習ライブラリ。Facebookの人工知能研究グループが開発を主導しています。強力なGPUサポートを備えたテンソル計算、テープベースの自動微分による柔軟なニューラルネットワークの記述が可能です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2022/11/01 22:12

環境:Google Colaboratary

importのターゲットファイル(例 xxx.py)の保存方式が『UTF-8』以外の場合(UTF-16 LE)、init.pyがないと、以下のようなメッセージが発生します:
SyntaxError: invalid or missing encoding declaration for '/content/drive/MyDrive/ColabNotebooks/PyUtilities/init.py'

ところが、init.pyの内容を「# coding:UTF-16 LE」にして提供すれば、また下記のような新たなエラーメッセージが発生した。

---> 48 from yyy import xxx

ValueError: source code string cannot contain null bytes

原因や意味不明で、どうすれば良いのでしょうか。

ご存知の方宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

int32_t

2022/11/01 22:36

ソースをUTF-16にしたい事情があるのでしょうか。
TakaiY

2022/11/02 01:33

すでに正しい回答付いているのであれですが、ここで質問する前に出ているメッセージでの検索と結果出てきたサイトの内容の確認などされていますか?
insecticide

2022/11/02 03:37

お返事ありがとうございます。 >ソースをUTF-16にしたい事情があるのでしょうか。 Window 10 をつかていますので、エクスプローラーでファイルの中身を検索したい場合、「UTF-8」encodingのテキストファイルが対象外なので、「UTF-16」を選択しました。
guest

回答1

0

ベストアンサー

https://peps.python.org/pep-0263/#concepts

Any encoding which allows processing the first two lines in the way indicated above is allowed as source code encoding, this includes ASCII compatible encodings as well as certain multi-byte encodings such as Shift_JIS. It does not include encodings which use two or more bytes for all characters like e.g. UTF-16.

Python では UTF-16 のような ASCII 非互換エンコーディングのソースコードは許されていません。

投稿2022/11/01 22:50

int32_t

総合スコア21929

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

insecticide

2022/11/02 03:27

そうですか。 英語が苦手はだめですね。 日本語でしか検索する事ができない自分はやっぱり惨め。。。 ただ、《 this includes ASCII compatible encodings as well as certain multi-byte encodings such as Shift_JIS.》 ASCII コードは1byteで、どうしてmulti-byteの"Shift_JIS"とcompatibleできるのでしょうか。 あるいはここの「multi-byte」というのは「バイト数固定じゃない」という意味? 何方かヒントいただければ、幸いです。
int32_t

2022/11/02 03:34

Shift_JIS は multi byte な符号化方式ですが、ASCII の文字だけ使っていれば ASCII と同じバイト表現になります。 UTF-16 も multi byte ですが、ASCII と同じバイト表現になることはありません。
insecticide

2022/11/02 04:17

int32_t さん ご教授ありがとうございます❣  💘
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問