diff --git a/gptdeploy.py b/gptdeploy.py index 870e445..47b20ef 100644 --- a/gptdeploy.py +++ b/gptdeploy.py @@ -1,4 +1,3 @@ -from src import env # noqa: F401 to make sure certain environment variables are set from src import main if __name__ == "__main__": diff --git a/src/apis/jina_cloud.py b/src/apis/jina_cloud.py index 5d5de62..aabd60e 100644 --- a/src/apis/jina_cloud.py +++ b/src/apis/jina_cloud.py @@ -249,7 +249,7 @@ executors: ''' full_flow_path = os.path.join(dest_folder, 'flow.yml') - with open(full_flow_path, 'w') as f: + with open(full_flow_path, 'w', encoding='utf-8') as f: f.write(flow) return full_flow_path @@ -264,12 +264,12 @@ def replace_client_line(file_content: str, replacement: str) -> str: def update_client_line_in_file(file_path, host): - with open(file_path, 'r') as file: + with open(file_path, 'r', encoding='utf-8') as file: content = file.read() replaced_content = replace_client_line(content, f"client = Client(host='{host}')") - with open(file_path, 'w') as file: + with open(file_path, 'w', encoding='utf-8') as file: file.write(replaced_content) diff --git a/src/cli.py b/src/cli.py index 40ef4ef..13ecd75 100644 --- a/src/cli.py +++ b/src/cli.py @@ -1,3 +1,4 @@ +from src import env # noqa: F401 to make sure certain environment variables are set import functools import os diff --git a/src/env.py b/src/env.py index 5acd11d..852ae97 100644 --- a/src/env.py +++ b/src/env.py @@ -1,3 +1,4 @@ import os -os.environ['PYTHONIOENCODING']='utf-8' \ No newline at end of file +os.environ['PYTHONIOENCODING'] = 'utf-8' +os.environ['PYTHONLEGACYWINDOWSSTDIO'] = 'utf-8' \ No newline at end of file diff --git a/src/options/configure/key_handling.py b/src/options/configure/key_handling.py index 53ae19a..a2f8576 100644 --- a/src/options/configure/key_handling.py +++ b/src/options/configure/key_handling.py @@ -65,7 +65,7 @@ def set_env_variable(shell, key): config_file = os.path.expanduser(shell_config[shell]["config_file"]) try: - with open(config_file, "r") as file: + with open(config_file, "r", encoding='utf-8') as file: content = file.read() export_line = shell_config[shell]['export_line'] @@ -74,10 +74,10 @@ def set_env_variable(shell, key): if f"OPENAI_API_KEY" in content: content = re.sub(r'OPENAI_API_KEY=.*', f'OPENAI_API_KEY={key}', content, flags=re.MULTILINE) - with open(config_file, "w") as file: + with open(config_file, "w", encoding='utf-8') as file: file.write(content) else: - with open(config_file, "a") as file: + with open(config_file, "a", encoding='utf-8') as file: file.write(f"\n{export_line}\n") click.echo(f''' @@ -130,7 +130,7 @@ def is_key_set_in_config_file(key): config_file = os.path.expanduser(shell_config[shell]["config_file"]) try: - with open(config_file, "r") as file: + with open(config_file, "r", encoding='utf-8') as file: content = file.read() if f"OPENAI_API_KEY" in content: return True diff --git a/src/options/generate/generator.py b/src/options/generate/generator.py index e071164..e7d5489 100644 --- a/src/options/generate/generator.py +++ b/src/options/generate/generator.py @@ -45,7 +45,7 @@ py_modules: metas: name: {class_name} ''' - with open(os.path.join(dest_folder, 'config.yml'), 'w') as f: + with open(os.path.join(dest_folder, 'config.yml'), 'w', encoding='utf-8') as f: f.write(config_content) def files_to_string(self, file_name_to_content, restrict_keys=None): @@ -175,13 +175,13 @@ metas: # fill-in name of microservice gateway_name = f'Gateway{microservice_name}' custom_gateway_path = os.path.join(gateway_path, 'custom_gateway.py') - with open(custom_gateway_path, 'r') as f: + with open(custom_gateway_path, 'r', encoding='utf-8') as f: custom_gateway_content = f.read() custom_gateway_content = custom_gateway_content.replace( 'class CustomGateway(CompositeGateway):', f'class {gateway_name}(CompositeGateway):' ) - with open(custom_gateway_path, 'w') as f: + with open(custom_gateway_path, 'w', encoding='utf-8') as f: f.write(custom_gateway_content) # write config.yml diff --git a/src/utils/io.py b/src/utils/io.py index 8ddc02c..9ae2693 100644 --- a/src/utils/io.py +++ b/src/utils/io.py @@ -14,7 +14,7 @@ def get_microservice_path(path, microservice_name, packages, num_approach, versi return os.path.join(path, microservice_name, f'{num_approach}_{package_path}', f'v{version}') def persist_file(file_content, file_path): - with open(file_path, 'w') as f: + with open(file_path, 'w', encoding='utf-8') as f: f.write(file_content)