소스 검색

code modify

zhouyang.xie 22 시간 전
부모
커밋
1a2f72509a
100개의 변경된 파일854개의 추가작업 그리고 13개의 파일을 삭제
  1. 3 0
      .gitignore
  2. BIN
      dataStorage_datang/download/asttokens-3.0.1-py3-none-any.whl
  3. BIN
      dataStorage_datang/download/attrs-25.4.0-py3-none-any.whl
  4. BIN
      dataStorage_datang/download/backcall-0.2.0-py2.py3-none-any.whl
  5. BIN
      dataStorage_datang/download/beautifulsoup4-4.14.3-py3-none-any.whl
  6. BIN
      dataStorage_datang/download/bleach-6.3.0-py3-none-any.whl
  7. BIN
      dataStorage_datang/download/certifi-2026.1.4-py3-none-any.whl
  8. BIN
      dataStorage_datang/download/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
  9. BIN
      dataStorage_datang/download/dbutils-3.1.2-py3-none-any.whl
  10. BIN
      dataStorage_datang/download/decorator-5.2.1-py3-none-any.whl
  11. BIN
      dataStorage_datang/download/defusedxml-0.7.1-py2.py3-none-any.whl
  12. BIN
      dataStorage_datang/download/docopt-0.6.2.tar.gz
  13. BIN
      dataStorage_datang/download/executing-2.2.1-py2.py3-none-any.whl
  14. BIN
      dataStorage_datang/download/fastjsonschema-2.21.2-py3-none-any.whl
  15. BIN
      dataStorage_datang/download/idna-3.11-py3-none-any.whl
  16. BIN
      dataStorage_datang/download/ipython-8.12.3-py3-none-any.whl
  17. BIN
      dataStorage_datang/download/jedi-0.19.2-py2.py3-none-any.whl
  18. BIN
      dataStorage_datang/download/jinja2-3.1.6-py3-none-any.whl
  19. BIN
      dataStorage_datang/download/jsonschema-4.26.0-py3-none-any.whl
  20. BIN
      dataStorage_datang/download/jsonschema_specifications-2025.9.1-py3-none-any.whl
  21. BIN
      dataStorage_datang/download/jupyter_client-8.8.0-py3-none-any.whl
  22. BIN
      dataStorage_datang/download/jupyter_core-5.9.1-py3-none-any.whl
  23. BIN
      dataStorage_datang/download/jupyterlab_pygments-0.3.0-py3-none-any.whl
  24. BIN
      dataStorage_datang/download/markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
  25. BIN
      dataStorage_datang/download/matplotlib_inline-0.2.1-py3-none-any.whl
  26. BIN
      dataStorage_datang/download/mistune-3.2.0-py3-none-any.whl
  27. BIN
      dataStorage_datang/download/nbclient-0.10.4-py3-none-any.whl
  28. BIN
      dataStorage_datang/download/nbconvert-7.16.6-py3-none-any.whl
  29. BIN
      dataStorage_datang/download/nbformat-5.10.4-py3-none-any.whl
  30. BIN
      dataStorage_datang/download/numpy-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  31. BIN
      dataStorage_datang/download/packaging-26.0-py3-none-any.whl
  32. BIN
      dataStorage_datang/download/pandas-2.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  33. BIN
      dataStorage_datang/download/pandocfilters-1.5.1-py2.py3-none-any.whl
  34. BIN
      dataStorage_datang/download/parso-0.8.5-py2.py3-none-any.whl
  35. BIN
      dataStorage_datang/download/pexpect-4.9.0-py2.py3-none-any.whl
  36. BIN
      dataStorage_datang/download/pickleshare-0.7.5-py2.py3-none-any.whl
  37. BIN
      dataStorage_datang/download/pipreqs-0.5.0-py3-none-any.whl
  38. BIN
      dataStorage_datang/download/platformdirs-4.5.1-py3-none-any.whl
  39. BIN
      dataStorage_datang/download/prompt_toolkit-3.0.52-py3-none-any.whl
  40. BIN
      dataStorage_datang/download/ptyprocess-0.7.0-py2.py3-none-any.whl
  41. BIN
      dataStorage_datang/download/pure_eval-0.2.3-py3-none-any.whl
  42. BIN
      dataStorage_datang/download/pyarrow-17.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  43. BIN
      dataStorage_datang/download/pygments-2.19.2-py3-none-any.whl
  44. BIN
      dataStorage_datang/download/pymysql-1.1.2-py3-none-any.whl
  45. BIN
      dataStorage_datang/download/python_dateutil-2.9.0.post0-py2.py3-none-any.whl
  46. BIN
      dataStorage_datang/download/pytz-2025.2-py2.py3-none-any.whl
  47. BIN
      dataStorage_datang/download/pyzmq-26.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  48. BIN
      dataStorage_datang/download/referencing-0.37.0-py3-none-any.whl
  49. BIN
      dataStorage_datang/download/requests-2.32.5-py3-none-any.whl
  50. BIN
      dataStorage_datang/download/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  51. BIN
      dataStorage_datang/download/six-1.17.0-py2.py3-none-any.whl
  52. BIN
      dataStorage_datang/download/soupsieve-2.8.3-py3-none-any.whl
  53. BIN
      dataStorage_datang/download/stack_data-0.6.3-py3-none-any.whl
  54. BIN
      dataStorage_datang/download/tinycss2-1.4.0-py3-none-any.whl
  55. BIN
      dataStorage_datang/download/tornado-6.5.4-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  56. BIN
      dataStorage_datang/download/traitlets-5.14.3-py3-none-any.whl
  57. BIN
      dataStorage_datang/download/typing_extensions-4.15.0-py3-none-any.whl
  58. BIN
      dataStorage_datang/download/tzdata-2025.3-py2.py3-none-any.whl
  59. BIN
      dataStorage_datang/download/urllib3-2.6.3-py3-none-any.whl
  60. BIN
      dataStorage_datang/download/wcwidth-0.5.0-py3-none-any.whl
  61. BIN
      dataStorage_datang/download/webencodings-0.5.1-py2.py3-none-any.whl
  62. BIN
      dataStorage_datang/download/wheel-0.46.3-py3-none-any.whl
  63. BIN
      dataStorage_datang/download/yarg-0.1.9-py2.py3-none-any.whl
  64. 2 2
      dataStorage_datang/info_curve_power_turbine.py
  65. 4 2
      dataStorage_datang/info_model_turbine_v2.py
  66. 2 2
      dataStorage_datang/info_model_turbine_v3.py
  67. 4 4
      dataStorage_datang/info_turbine_data.py
  68. 3 3
      dataStorage_datang/main.py
  69. 247 0
      dataStorage_datang/myvenv/bin/Activate.ps1
  70. 70 0
      dataStorage_datang/myvenv/bin/activate
  71. 27 0
      dataStorage_datang/myvenv/bin/activate.csh
  72. 69 0
      dataStorage_datang/myvenv/bin/activate.fish
  73. 7 0
      dataStorage_datang/myvenv/bin/f2py
  74. 7 0
      dataStorage_datang/myvenv/bin/ipython
  75. 7 0
      dataStorage_datang/myvenv/bin/ipython3
  76. 7 0
      dataStorage_datang/myvenv/bin/jsonschema
  77. 7 0
      dataStorage_datang/myvenv/bin/jupyter
  78. 7 0
      dataStorage_datang/myvenv/bin/jupyter-dejavu
  79. 7 0
      dataStorage_datang/myvenv/bin/jupyter-execute
  80. 7 0
      dataStorage_datang/myvenv/bin/jupyter-kernel
  81. 7 0
      dataStorage_datang/myvenv/bin/jupyter-kernelspec
  82. 7 0
      dataStorage_datang/myvenv/bin/jupyter-migrate
  83. 7 0
      dataStorage_datang/myvenv/bin/jupyter-nbconvert
  84. 7 0
      dataStorage_datang/myvenv/bin/jupyter-run
  85. 7 0
      dataStorage_datang/myvenv/bin/jupyter-troubleshoot
  86. 7 0
      dataStorage_datang/myvenv/bin/jupyter-trust
  87. 7 0
      dataStorage_datang/myvenv/bin/normalizer
  88. 7 0
      dataStorage_datang/myvenv/bin/numpy-config
  89. 8 0
      dataStorage_datang/myvenv/bin/pip
  90. 8 0
      dataStorage_datang/myvenv/bin/pip3
  91. 8 0
      dataStorage_datang/myvenv/bin/pip3.12
  92. 7 0
      dataStorage_datang/myvenv/bin/pipreqs
  93. 7 0
      dataStorage_datang/myvenv/bin/pygmentize
  94. 1 0
      dataStorage_datang/myvenv/bin/python
  95. 1 0
      dataStorage_datang/myvenv/bin/python3
  96. 1 0
      dataStorage_datang/myvenv/bin/python3.12
  97. 7 0
      dataStorage_datang/myvenv/bin/wheel
  98. 161 0
      dataStorage_datang/myvenv/lib/python3.12/site-packages/IPython/__init__.py
  99. 15 0
      dataStorage_datang/myvenv/lib/python3.12/site-packages/IPython/__main__.py
  100. 87 0
      dataStorage_datang/myvenv/lib/python3.12/site-packages/IPython/conftest.py

+ 3 - 0
.gitignore

@@ -0,0 +1,3 @@
+**/*.pyc
+**/*.parquet
+

BIN
dataStorage_datang/download/asttokens-3.0.1-py3-none-any.whl


BIN
dataStorage_datang/download/attrs-25.4.0-py3-none-any.whl


BIN
dataStorage_datang/download/backcall-0.2.0-py2.py3-none-any.whl


BIN
dataStorage_datang/download/beautifulsoup4-4.14.3-py3-none-any.whl


BIN
dataStorage_datang/download/bleach-6.3.0-py3-none-any.whl


BIN
dataStorage_datang/download/certifi-2026.1.4-py3-none-any.whl


BIN
dataStorage_datang/download/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl


BIN
dataStorage_datang/download/dbutils-3.1.2-py3-none-any.whl


BIN
dataStorage_datang/download/decorator-5.2.1-py3-none-any.whl


BIN
dataStorage_datang/download/defusedxml-0.7.1-py2.py3-none-any.whl


BIN
dataStorage_datang/download/docopt-0.6.2.tar.gz


BIN
dataStorage_datang/download/executing-2.2.1-py2.py3-none-any.whl


BIN
dataStorage_datang/download/fastjsonschema-2.21.2-py3-none-any.whl


BIN
dataStorage_datang/download/idna-3.11-py3-none-any.whl


BIN
dataStorage_datang/download/ipython-8.12.3-py3-none-any.whl


BIN
dataStorage_datang/download/jedi-0.19.2-py2.py3-none-any.whl


BIN
dataStorage_datang/download/jinja2-3.1.6-py3-none-any.whl


BIN
dataStorage_datang/download/jsonschema-4.26.0-py3-none-any.whl


BIN
dataStorage_datang/download/jsonschema_specifications-2025.9.1-py3-none-any.whl


BIN
dataStorage_datang/download/jupyter_client-8.8.0-py3-none-any.whl


BIN
dataStorage_datang/download/jupyter_core-5.9.1-py3-none-any.whl


BIN
dataStorage_datang/download/jupyterlab_pygments-0.3.0-py3-none-any.whl


BIN
dataStorage_datang/download/markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl


BIN
dataStorage_datang/download/matplotlib_inline-0.2.1-py3-none-any.whl


BIN
dataStorage_datang/download/mistune-3.2.0-py3-none-any.whl


BIN
dataStorage_datang/download/nbclient-0.10.4-py3-none-any.whl


BIN
dataStorage_datang/download/nbconvert-7.16.6-py3-none-any.whl


BIN
dataStorage_datang/download/nbformat-5.10.4-py3-none-any.whl


BIN
dataStorage_datang/download/numpy-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl


BIN
dataStorage_datang/download/packaging-26.0-py3-none-any.whl


BIN
dataStorage_datang/download/pandas-2.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl


BIN
dataStorage_datang/download/pandocfilters-1.5.1-py2.py3-none-any.whl


BIN
dataStorage_datang/download/parso-0.8.5-py2.py3-none-any.whl


BIN
dataStorage_datang/download/pexpect-4.9.0-py2.py3-none-any.whl


BIN
dataStorage_datang/download/pickleshare-0.7.5-py2.py3-none-any.whl


BIN
dataStorage_datang/download/pipreqs-0.5.0-py3-none-any.whl


BIN
dataStorage_datang/download/platformdirs-4.5.1-py3-none-any.whl


BIN
dataStorage_datang/download/prompt_toolkit-3.0.52-py3-none-any.whl


BIN
dataStorage_datang/download/ptyprocess-0.7.0-py2.py3-none-any.whl


BIN
dataStorage_datang/download/pure_eval-0.2.3-py3-none-any.whl


BIN
dataStorage_datang/download/pyarrow-17.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl


BIN
dataStorage_datang/download/pygments-2.19.2-py3-none-any.whl


BIN
dataStorage_datang/download/pymysql-1.1.2-py3-none-any.whl


BIN
dataStorage_datang/download/python_dateutil-2.9.0.post0-py2.py3-none-any.whl


BIN
dataStorage_datang/download/pytz-2025.2-py2.py3-none-any.whl


BIN
dataStorage_datang/download/pyzmq-26.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl


BIN
dataStorage_datang/download/referencing-0.37.0-py3-none-any.whl


BIN
dataStorage_datang/download/requests-2.32.5-py3-none-any.whl


BIN
dataStorage_datang/download/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl


BIN
dataStorage_datang/download/six-1.17.0-py2.py3-none-any.whl


BIN
dataStorage_datang/download/soupsieve-2.8.3-py3-none-any.whl


BIN
dataStorage_datang/download/stack_data-0.6.3-py3-none-any.whl


BIN
dataStorage_datang/download/tinycss2-1.4.0-py3-none-any.whl


BIN
dataStorage_datang/download/tornado-6.5.4-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl


BIN
dataStorage_datang/download/traitlets-5.14.3-py3-none-any.whl


BIN
dataStorage_datang/download/typing_extensions-4.15.0-py3-none-any.whl


BIN
dataStorage_datang/download/tzdata-2025.3-py2.py3-none-any.whl


BIN
dataStorage_datang/download/urllib3-2.6.3-py3-none-any.whl


BIN
dataStorage_datang/download/wcwidth-0.5.0-py3-none-any.whl


BIN
dataStorage_datang/download/webencodings-0.5.1-py2.py3-none-any.whl


BIN
dataStorage_datang/download/wheel-0.46.3-py3-none-any.whl


BIN
dataStorage_datang/download/yarg-0.1.9-py2.py3-none-any.whl


+ 2 - 2
dataStorage_datang/info_curve_power_turbine.py

@@ -11,10 +11,10 @@ logger = logging.getLogger(__name__)
 # 数据库配置(从config.py导入,这里直接定义)
 class DatabaseConfig:
     HOST = '192.168.50.234'
-    PORT = 4000
+    PORT = 24001
     DATABASE = 'wind_data'
     USERNAME = 'root'
-    PASSWORD = '123456'
+    PASSWORD = 'admin123456'
 
 
 class WindTurbinePowerCurve:

+ 4 - 2
dataStorage_datang/info_model_turbine_v2.py

@@ -1067,8 +1067,10 @@ def main():
     """主函数"""
     # 数据库配置
     db_config = DatabaseConfig(
-        host="106.120.102.238",
-        port=44000,
+        # host="106.120.102.238",
+        # port=44000,
+        host="192.168.50.234",
+        port=4000,
         user='root',
         password='123456',
         database='wind_data',

+ 2 - 2
dataStorage_datang/info_model_turbine_v3.py

@@ -102,8 +102,8 @@ class ConnectionPool:
 
 class DatabaseConfig:
     """数据库配置类"""
-    def __init__(self, host='192.168.50.234', port=4000, user='root', 
-                 password='123456', database='wind_data', charset='utf8mb4',
+    def __init__(self, host='192.168.50.234', port=24001, user='root', 
+                 password='admin123456', database='wind_data', charset='utf8mb4',
                  max_connections=2, mem_quota=4 << 30):
         self.host = host
         self.port = port

+ 4 - 4
dataStorage_datang/info_turbine_data.py

@@ -137,8 +137,8 @@ DROP_TABLE_SQL = "DROP TABLE IF EXISTS info_turbine"
 
 class DatabaseConfig:
     """数据库配置类"""
-    def __init__(self, host='192.168.50.234', port=4000, user='root', 
-                 password='123456', database='wind_data', charset='utf8mb4'):
+    def __init__(self, host='192.168.50.234', port=24001, user='root', 
+                 password='admin123456', database='wind_data', charset='utf8mb4'):
         self.host = host
         self.port = port
         self.user = user
@@ -496,9 +496,9 @@ def main():
     # 数据库配置
     db_config = DatabaseConfig(
         host='192.168.50.234',
-        port=4000,
+        port=24001,
         user='root',
-        password='123456',
+        password='admin123456',
         database='wind_data',
         charset='utf8mb4'
     )

+ 3 - 3
dataStorage_datang/main.py

@@ -238,15 +238,15 @@ def main():
     # 创建配置
     config = AppConfig(
         # base_path=r"F:\BaiduNetdiskDownload\标准化数据\stander_parquet",
-        base_path=f"./data/标准化数据/stander_parquet",
+        base_path=f"./data/stander_parquet",
         max_workers=10,
         batch_size=10000,
         upsert_enabled=True,  # 启用UPSERT
         db_config=DatabaseConfig(
             host="192.168.50.234",
-            port=4000,
+            port=24001,
             user="root",
-            password="123456",
+            password="admin123456",
             database="wind_data"
         ),
         table_config=TableConfig(

+ 247 - 0
dataStorage_datang/myvenv/bin/Activate.ps1

@@ -0,0 +1,247 @@
+<#
+.Synopsis
+Activate a Python virtual environment for the current PowerShell session.
+
+.Description
+Pushes the python executable for a virtual environment to the front of the
+$Env:PATH environment variable and sets the prompt to signify that you are
+in a Python virtual environment. Makes use of the command line switches as
+well as the `pyvenv.cfg` file values present in the virtual environment.
+
+.Parameter VenvDir
+Path to the directory that contains the virtual environment to activate. The
+default value for this is the parent of the directory that the Activate.ps1
+script is located within.
+
+.Parameter Prompt
+The prompt prefix to display when this virtual environment is activated. By
+default, this prompt is the name of the virtual environment folder (VenvDir)
+surrounded by parentheses and followed by a single space (ie. '(.venv) ').
+
+.Example
+Activate.ps1
+Activates the Python virtual environment that contains the Activate.ps1 script.
+
+.Example
+Activate.ps1 -Verbose
+Activates the Python virtual environment that contains the Activate.ps1 script,
+and shows extra information about the activation as it executes.
+
+.Example
+Activate.ps1 -VenvDir C:\Users\MyUser\Common\.venv
+Activates the Python virtual environment located in the specified location.
+
+.Example
+Activate.ps1 -Prompt "MyPython"
+Activates the Python virtual environment that contains the Activate.ps1 script,
+and prefixes the current prompt with the specified string (surrounded in
+parentheses) while the virtual environment is active.
+
+.Notes
+On Windows, it may be required to enable this Activate.ps1 script by setting the
+execution policy for the user. You can do this by issuing the following PowerShell
+command:
+
+PS C:\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
+
+For more information on Execution Policies: 
+https://go.microsoft.com/fwlink/?LinkID=135170
+
+#>
+Param(
+    [Parameter(Mandatory = $false)]
+    [String]
+    $VenvDir,
+    [Parameter(Mandatory = $false)]
+    [String]
+    $Prompt
+)
+
+<# Function declarations --------------------------------------------------- #>
+
+<#
+.Synopsis
+Remove all shell session elements added by the Activate script, including the
+addition of the virtual environment's Python executable from the beginning of
+the PATH variable.
+
+.Parameter NonDestructive
+If present, do not remove this function from the global namespace for the
+session.
+
+#>
+function global:deactivate ([switch]$NonDestructive) {
+    # Revert to original values
+
+    # The prior prompt:
+    if (Test-Path -Path Function:_OLD_VIRTUAL_PROMPT) {
+        Copy-Item -Path Function:_OLD_VIRTUAL_PROMPT -Destination Function:prompt
+        Remove-Item -Path Function:_OLD_VIRTUAL_PROMPT
+    }
+
+    # The prior PYTHONHOME:
+    if (Test-Path -Path Env:_OLD_VIRTUAL_PYTHONHOME) {
+        Copy-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME -Destination Env:PYTHONHOME
+        Remove-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME
+    }
+
+    # The prior PATH:
+    if (Test-Path -Path Env:_OLD_VIRTUAL_PATH) {
+        Copy-Item -Path Env:_OLD_VIRTUAL_PATH -Destination Env:PATH
+        Remove-Item -Path Env:_OLD_VIRTUAL_PATH
+    }
+
+    # Just remove the VIRTUAL_ENV altogether:
+    if (Test-Path -Path Env:VIRTUAL_ENV) {
+        Remove-Item -Path env:VIRTUAL_ENV
+    }
+
+    # Just remove VIRTUAL_ENV_PROMPT altogether.
+    if (Test-Path -Path Env:VIRTUAL_ENV_PROMPT) {
+        Remove-Item -Path env:VIRTUAL_ENV_PROMPT
+    }
+
+    # Just remove the _PYTHON_VENV_PROMPT_PREFIX altogether:
+    if (Get-Variable -Name "_PYTHON_VENV_PROMPT_PREFIX" -ErrorAction SilentlyContinue) {
+        Remove-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Scope Global -Force
+    }
+
+    # Leave deactivate function in the global namespace if requested:
+    if (-not $NonDestructive) {
+        Remove-Item -Path function:deactivate
+    }
+}
+
+<#
+.Description
+Get-PyVenvConfig parses the values from the pyvenv.cfg file located in the
+given folder, and returns them in a map.
+
+For each line in the pyvenv.cfg file, if that line can be parsed into exactly
+two strings separated by `=` (with any amount of whitespace surrounding the =)
+then it is considered a `key = value` line. The left hand string is the key,
+the right hand is the value.
+
+If the value starts with a `'` or a `"` then the first and last character is
+stripped from the value before being captured.
+
+.Parameter ConfigDir
+Path to the directory that contains the `pyvenv.cfg` file.
+#>
+function Get-PyVenvConfig(
+    [String]
+    $ConfigDir
+) {
+    Write-Verbose "Given ConfigDir=$ConfigDir, obtain values in pyvenv.cfg"
+
+    # Ensure the file exists, and issue a warning if it doesn't (but still allow the function to continue).
+    $pyvenvConfigPath = Join-Path -Resolve -Path $ConfigDir -ChildPath 'pyvenv.cfg' -ErrorAction Continue
+
+    # An empty map will be returned if no config file is found.
+    $pyvenvConfig = @{ }
+
+    if ($pyvenvConfigPath) {
+
+        Write-Verbose "File exists, parse `key = value` lines"
+        $pyvenvConfigContent = Get-Content -Path $pyvenvConfigPath
+
+        $pyvenvConfigContent | ForEach-Object {
+            $keyval = $PSItem -split "\s*=\s*", 2
+            if ($keyval[0] -and $keyval[1]) {
+                $val = $keyval[1]
+
+                # Remove extraneous quotations around a string value.
+                if ("'""".Contains($val.Substring(0, 1))) {
+                    $val = $val.Substring(1, $val.Length - 2)
+                }
+
+                $pyvenvConfig[$keyval[0]] = $val
+                Write-Verbose "Adding Key: '$($keyval[0])'='$val'"
+            }
+        }
+    }
+    return $pyvenvConfig
+}
+
+
+<# Begin Activate script --------------------------------------------------- #>
+
+# Determine the containing directory of this script
+$VenvExecPath = Split-Path -Parent $MyInvocation.MyCommand.Definition
+$VenvExecDir = Get-Item -Path $VenvExecPath
+
+Write-Verbose "Activation script is located in path: '$VenvExecPath'"
+Write-Verbose "VenvExecDir Fullname: '$($VenvExecDir.FullName)"
+Write-Verbose "VenvExecDir Name: '$($VenvExecDir.Name)"
+
+# Set values required in priority: CmdLine, ConfigFile, Default
+# First, get the location of the virtual environment, it might not be
+# VenvExecDir if specified on the command line.
+if ($VenvDir) {
+    Write-Verbose "VenvDir given as parameter, using '$VenvDir' to determine values"
+}
+else {
+    Write-Verbose "VenvDir not given as a parameter, using parent directory name as VenvDir."
+    $VenvDir = $VenvExecDir.Parent.FullName.TrimEnd("\\/")
+    Write-Verbose "VenvDir=$VenvDir"
+}
+
+# Next, read the `pyvenv.cfg` file to determine any required value such
+# as `prompt`.
+$pyvenvCfg = Get-PyVenvConfig -ConfigDir $VenvDir
+
+# Next, set the prompt from the command line, or the config file, or
+# just use the name of the virtual environment folder.
+if ($Prompt) {
+    Write-Verbose "Prompt specified as argument, using '$Prompt'"
+}
+else {
+    Write-Verbose "Prompt not specified as argument to script, checking pyvenv.cfg value"
+    if ($pyvenvCfg -and $pyvenvCfg['prompt']) {
+        Write-Verbose "  Setting based on value in pyvenv.cfg='$($pyvenvCfg['prompt'])'"
+        $Prompt = $pyvenvCfg['prompt'];
+    }
+    else {
+        Write-Verbose "  Setting prompt based on parent's directory's name. (Is the directory name passed to venv module when creating the virtual environment)"
+        Write-Verbose "  Got leaf-name of $VenvDir='$(Split-Path -Path $venvDir -Leaf)'"
+        $Prompt = Split-Path -Path $venvDir -Leaf
+    }
+}
+
+Write-Verbose "Prompt = '$Prompt'"
+Write-Verbose "VenvDir='$VenvDir'"
+
+# Deactivate any currently active virtual environment, but leave the
+# deactivate function in place.
+deactivate -nondestructive
+
+# Now set the environment variable VIRTUAL_ENV, used by many tools to determine
+# that there is an activated venv.
+$env:VIRTUAL_ENV = $VenvDir
+
+if (-not $Env:VIRTUAL_ENV_DISABLE_PROMPT) {
+
+    Write-Verbose "Setting prompt to '$Prompt'"
+
+    # Set the prompt to include the env name
+    # Make sure _OLD_VIRTUAL_PROMPT is global
+    function global:_OLD_VIRTUAL_PROMPT { "" }
+    Copy-Item -Path function:prompt -Destination function:_OLD_VIRTUAL_PROMPT
+    New-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Description "Python virtual environment prompt prefix" -Scope Global -Option ReadOnly -Visibility Public -Value $Prompt
+
+    function global:prompt {
+        Write-Host -NoNewline -ForegroundColor Green "($_PYTHON_VENV_PROMPT_PREFIX) "
+        _OLD_VIRTUAL_PROMPT
+    }
+    $env:VIRTUAL_ENV_PROMPT = $Prompt
+}
+
+# Clear PYTHONHOME
+if (Test-Path -Path Env:PYTHONHOME) {
+    Copy-Item -Path Env:PYTHONHOME -Destination Env:_OLD_VIRTUAL_PYTHONHOME
+    Remove-Item -Path Env:PYTHONHOME
+}
+
+# Add the venv to the PATH
+Copy-Item -Path Env:PATH -Destination Env:_OLD_VIRTUAL_PATH
+$Env:PATH = "$VenvExecDir$([System.IO.Path]::PathSeparator)$Env:PATH"

+ 70 - 0
dataStorage_datang/myvenv/bin/activate

@@ -0,0 +1,70 @@
+# This file must be used with "source bin/activate" *from bash*
+# You cannot run it directly
+
+deactivate () {
+    # reset old environment variables
+    if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then
+        PATH="${_OLD_VIRTUAL_PATH:-}"
+        export PATH
+        unset _OLD_VIRTUAL_PATH
+    fi
+    if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then
+        PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}"
+        export PYTHONHOME
+        unset _OLD_VIRTUAL_PYTHONHOME
+    fi
+
+    # Call hash to forget past commands. Without forgetting
+    # past commands the $PATH changes we made may not be respected
+    hash -r 2> /dev/null
+
+    if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then
+        PS1="${_OLD_VIRTUAL_PS1:-}"
+        export PS1
+        unset _OLD_VIRTUAL_PS1
+    fi
+
+    unset VIRTUAL_ENV
+    unset VIRTUAL_ENV_PROMPT
+    if [ ! "${1:-}" = "nondestructive" ] ; then
+    # Self destruct!
+        unset -f deactivate
+    fi
+}
+
+# unset irrelevant variables
+deactivate nondestructive
+
+# on Windows, a path can contain colons and backslashes and has to be converted:
+if [ "$OSTYPE" = "cygwin" ] || [ "$OSTYPE" = "msys" ] ; then
+    # transform D:\path\to\venv to /d/path/to/venv on MSYS
+    # and to /cygdrive/d/path/to/venv on Cygwin
+    export VIRTUAL_ENV=$(cygpath "/data/source_code/data_analysis_wind_turbine/dataStorage_datang/myvenv")
+else
+    # use the path as-is
+    export VIRTUAL_ENV="/data/source_code/data_analysis_wind_turbine/dataStorage_datang/myvenv"
+fi
+
+_OLD_VIRTUAL_PATH="$PATH"
+PATH="$VIRTUAL_ENV/bin:$PATH"
+export PATH
+
+# unset PYTHONHOME if set
+# this will fail if PYTHONHOME is set to the empty string (which is bad anyway)
+# could use `if (set -u; : $PYTHONHOME) ;` in bash
+if [ -n "${PYTHONHOME:-}" ] ; then
+    _OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}"
+    unset PYTHONHOME
+fi
+
+if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then
+    _OLD_VIRTUAL_PS1="${PS1:-}"
+    PS1="(myvenv) ${PS1:-}"
+    export PS1
+    VIRTUAL_ENV_PROMPT="(myvenv) "
+    export VIRTUAL_ENV_PROMPT
+fi
+
+# Call hash to forget past commands. Without forgetting
+# past commands the $PATH changes we made may not be respected
+hash -r 2> /dev/null

+ 27 - 0
dataStorage_datang/myvenv/bin/activate.csh

@@ -0,0 +1,27 @@
+# This file must be used with "source bin/activate.csh" *from csh*.
+# You cannot run it directly.
+
+# Created by Davide Di Blasi <davidedb@gmail.com>.
+# Ported to Python 3.3 venv by Andrew Svetlov <andrew.svetlov@gmail.com>
+
+alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; unsetenv VIRTUAL_ENV_PROMPT; test "\!:*" != "nondestructive" && unalias deactivate'
+
+# Unset irrelevant variables.
+deactivate nondestructive
+
+setenv VIRTUAL_ENV "/data/source_code/data_analysis_wind_turbine/dataStorage_datang/myvenv"
+
+set _OLD_VIRTUAL_PATH="$PATH"
+setenv PATH "$VIRTUAL_ENV/bin:$PATH"
+
+
+set _OLD_VIRTUAL_PROMPT="$prompt"
+
+if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then
+    set prompt = "(myvenv) $prompt"
+    setenv VIRTUAL_ENV_PROMPT "(myvenv) "
+endif
+
+alias pydoc python -m pydoc
+
+rehash

+ 69 - 0
dataStorage_datang/myvenv/bin/activate.fish

@@ -0,0 +1,69 @@
+# This file must be used with "source <venv>/bin/activate.fish" *from fish*
+# (https://fishshell.com/). You cannot run it directly.
+
+function deactivate  -d "Exit virtual environment and return to normal shell environment"
+    # reset old environment variables
+    if test -n "$_OLD_VIRTUAL_PATH"
+        set -gx PATH $_OLD_VIRTUAL_PATH
+        set -e _OLD_VIRTUAL_PATH
+    end
+    if test -n "$_OLD_VIRTUAL_PYTHONHOME"
+        set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME
+        set -e _OLD_VIRTUAL_PYTHONHOME
+    end
+
+    if test -n "$_OLD_FISH_PROMPT_OVERRIDE"
+        set -e _OLD_FISH_PROMPT_OVERRIDE
+        # prevents error when using nested fish instances (Issue #93858)
+        if functions -q _old_fish_prompt
+            functions -e fish_prompt
+            functions -c _old_fish_prompt fish_prompt
+            functions -e _old_fish_prompt
+        end
+    end
+
+    set -e VIRTUAL_ENV
+    set -e VIRTUAL_ENV_PROMPT
+    if test "$argv[1]" != "nondestructive"
+        # Self-destruct!
+        functions -e deactivate
+    end
+end
+
+# Unset irrelevant variables.
+deactivate nondestructive
+
+set -gx VIRTUAL_ENV "/data/source_code/data_analysis_wind_turbine/dataStorage_datang/myvenv"
+
+set -gx _OLD_VIRTUAL_PATH $PATH
+set -gx PATH "$VIRTUAL_ENV/bin" $PATH
+
+# Unset PYTHONHOME if set.
+if set -q PYTHONHOME
+    set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME
+    set -e PYTHONHOME
+end
+
+if test -z "$VIRTUAL_ENV_DISABLE_PROMPT"
+    # fish uses a function instead of an env var to generate the prompt.
+
+    # Save the current fish_prompt function as the function _old_fish_prompt.
+    functions -c fish_prompt _old_fish_prompt
+
+    # With the original prompt function renamed, we can override with our own.
+    function fish_prompt
+        # Save the return status of the last command.
+        set -l old_status $status
+
+        # Output the venv prompt; color taken from the blue of the Python logo.
+        printf "%s%s%s" (set_color 4B8BBE) "(myvenv) " (set_color normal)
+
+        # Restore the return status of the previous command.
+        echo "exit $old_status" | .
+        # Output the original/"old" prompt.
+        _old_fish_prompt
+    end
+
+    set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV"
+    set -gx VIRTUAL_ENV_PROMPT "(myvenv) "
+end

+ 7 - 0
dataStorage_datang/myvenv/bin/f2py

@@ -0,0 +1,7 @@
+#!/data/source_code/data_analysis_wind_turbine/dataStorage_datang/myvenv/bin/python
+import sys
+from numpy.f2py.f2py2e import main
+if __name__ == '__main__':
+    if sys.argv[0].endswith('.exe'):
+        sys.argv[0] = sys.argv[0][:-4]
+    sys.exit(main())

+ 7 - 0
dataStorage_datang/myvenv/bin/ipython

@@ -0,0 +1,7 @@
+#!/data/source_code/data_analysis_wind_turbine/dataStorage_datang/myvenv/bin/python
+import sys
+from IPython import start_ipython
+if __name__ == '__main__':
+    if sys.argv[0].endswith('.exe'):
+        sys.argv[0] = sys.argv[0][:-4]
+    sys.exit(start_ipython())

+ 7 - 0
dataStorage_datang/myvenv/bin/ipython3

@@ -0,0 +1,7 @@
+#!/data/source_code/data_analysis_wind_turbine/dataStorage_datang/myvenv/bin/python
+import sys
+from IPython import start_ipython
+if __name__ == '__main__':
+    if sys.argv[0].endswith('.exe'):
+        sys.argv[0] = sys.argv[0][:-4]
+    sys.exit(start_ipython())

+ 7 - 0
dataStorage_datang/myvenv/bin/jsonschema

@@ -0,0 +1,7 @@
+#!/data/source_code/data_analysis_wind_turbine/dataStorage_datang/myvenv/bin/python
+import sys
+from jsonschema.cli import main
+if __name__ == '__main__':
+    if sys.argv[0].endswith('.exe'):
+        sys.argv[0] = sys.argv[0][:-4]
+    sys.exit(main())

+ 7 - 0
dataStorage_datang/myvenv/bin/jupyter

@@ -0,0 +1,7 @@
+#!/data/source_code/data_analysis_wind_turbine/dataStorage_datang/myvenv/bin/python
+import sys
+from jupyter_core.command import main
+if __name__ == '__main__':
+    if sys.argv[0].endswith('.exe'):
+        sys.argv[0] = sys.argv[0][:-4]
+    sys.exit(main())

+ 7 - 0
dataStorage_datang/myvenv/bin/jupyter-dejavu

@@ -0,0 +1,7 @@
+#!/data/source_code/data_analysis_wind_turbine/dataStorage_datang/myvenv/bin/python
+import sys
+from nbconvert.nbconvertapp import dejavu_main
+if __name__ == '__main__':
+    if sys.argv[0].endswith('.exe'):
+        sys.argv[0] = sys.argv[0][:-4]
+    sys.exit(dejavu_main())

+ 7 - 0
dataStorage_datang/myvenv/bin/jupyter-execute

@@ -0,0 +1,7 @@
+#!/data/source_code/data_analysis_wind_turbine/dataStorage_datang/myvenv/bin/python
+import sys
+from nbclient.cli import main
+if __name__ == '__main__':
+    if sys.argv[0].endswith('.exe'):
+        sys.argv[0] = sys.argv[0][:-4]
+    sys.exit(main())

+ 7 - 0
dataStorage_datang/myvenv/bin/jupyter-kernel

@@ -0,0 +1,7 @@
+#!/data/source_code/data_analysis_wind_turbine/dataStorage_datang/myvenv/bin/python
+import sys
+from jupyter_client.kernelapp import main
+if __name__ == '__main__':
+    if sys.argv[0].endswith('.exe'):
+        sys.argv[0] = sys.argv[0][:-4]
+    sys.exit(main())

+ 7 - 0
dataStorage_datang/myvenv/bin/jupyter-kernelspec

@@ -0,0 +1,7 @@
+#!/data/source_code/data_analysis_wind_turbine/dataStorage_datang/myvenv/bin/python
+import sys
+from jupyter_client.kernelspecapp import KernelSpecApp
+if __name__ == '__main__':
+    if sys.argv[0].endswith('.exe'):
+        sys.argv[0] = sys.argv[0][:-4]
+    sys.exit(KernelSpecApp.launch_instance())

+ 7 - 0
dataStorage_datang/myvenv/bin/jupyter-migrate

@@ -0,0 +1,7 @@
+#!/data/source_code/data_analysis_wind_turbine/dataStorage_datang/myvenv/bin/python
+import sys
+from jupyter_core.migrate import main
+if __name__ == '__main__':
+    if sys.argv[0].endswith('.exe'):
+        sys.argv[0] = sys.argv[0][:-4]
+    sys.exit(main())

+ 7 - 0
dataStorage_datang/myvenv/bin/jupyter-nbconvert

@@ -0,0 +1,7 @@
+#!/data/source_code/data_analysis_wind_turbine/dataStorage_datang/myvenv/bin/python
+import sys
+from nbconvert.nbconvertapp import main
+if __name__ == '__main__':
+    if sys.argv[0].endswith('.exe'):
+        sys.argv[0] = sys.argv[0][:-4]
+    sys.exit(main())

+ 7 - 0
dataStorage_datang/myvenv/bin/jupyter-run

@@ -0,0 +1,7 @@
+#!/data/source_code/data_analysis_wind_turbine/dataStorage_datang/myvenv/bin/python
+import sys
+from jupyter_client.runapp import RunApp
+if __name__ == '__main__':
+    if sys.argv[0].endswith('.exe'):
+        sys.argv[0] = sys.argv[0][:-4]
+    sys.exit(RunApp.launch_instance())

+ 7 - 0
dataStorage_datang/myvenv/bin/jupyter-troubleshoot

@@ -0,0 +1,7 @@
+#!/data/source_code/data_analysis_wind_turbine/dataStorage_datang/myvenv/bin/python
+import sys
+from jupyter_core.troubleshoot import main
+if __name__ == '__main__':
+    if sys.argv[0].endswith('.exe'):
+        sys.argv[0] = sys.argv[0][:-4]
+    sys.exit(main())

+ 7 - 0
dataStorage_datang/myvenv/bin/jupyter-trust

@@ -0,0 +1,7 @@
+#!/data/source_code/data_analysis_wind_turbine/dataStorage_datang/myvenv/bin/python
+import sys
+from nbformat.sign import TrustNotebookApp
+if __name__ == '__main__':
+    if sys.argv[0].endswith('.exe'):
+        sys.argv[0] = sys.argv[0][:-4]
+    sys.exit(TrustNotebookApp.launch_instance())

+ 7 - 0
dataStorage_datang/myvenv/bin/normalizer

@@ -0,0 +1,7 @@
+#!/data/source_code/data_analysis_wind_turbine/dataStorage_datang/myvenv/bin/python
+import sys
+from charset_normalizer.cli import cli_detect
+if __name__ == '__main__':
+    if sys.argv[0].endswith('.exe'):
+        sys.argv[0] = sys.argv[0][:-4]
+    sys.exit(cli_detect())

+ 7 - 0
dataStorage_datang/myvenv/bin/numpy-config

@@ -0,0 +1,7 @@
+#!/data/source_code/data_analysis_wind_turbine/dataStorage_datang/myvenv/bin/python
+import sys
+from numpy._configtool import main
+if __name__ == '__main__':
+    if sys.argv[0].endswith('.exe'):
+        sys.argv[0] = sys.argv[0][:-4]
+    sys.exit(main())

+ 8 - 0
dataStorage_datang/myvenv/bin/pip

@@ -0,0 +1,8 @@
+#!/data/source_code/data_analysis_wind_turbine/dataStorage_datang/myvenv/bin/python
+# -*- coding: utf-8 -*-
+import re
+import sys
+from pip._internal.cli.main import main
+if __name__ == '__main__':
+    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
+    sys.exit(main())

+ 8 - 0
dataStorage_datang/myvenv/bin/pip3

@@ -0,0 +1,8 @@
+#!/data/source_code/data_analysis_wind_turbine/dataStorage_datang/myvenv/bin/python
+# -*- coding: utf-8 -*-
+import re
+import sys
+from pip._internal.cli.main import main
+if __name__ == '__main__':
+    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
+    sys.exit(main())

+ 8 - 0
dataStorage_datang/myvenv/bin/pip3.12

@@ -0,0 +1,8 @@
+#!/data/source_code/data_analysis_wind_turbine/dataStorage_datang/myvenv/bin/python
+# -*- coding: utf-8 -*-
+import re
+import sys
+from pip._internal.cli.main import main
+if __name__ == '__main__':
+    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
+    sys.exit(main())

+ 7 - 0
dataStorage_datang/myvenv/bin/pipreqs

@@ -0,0 +1,7 @@
+#!/data/source_code/data_analysis_wind_turbine/dataStorage_datang/myvenv/bin/python
+import sys
+from pipreqs.pipreqs import main
+if __name__ == '__main__':
+    if sys.argv[0].endswith('.exe'):
+        sys.argv[0] = sys.argv[0][:-4]
+    sys.exit(main())

+ 7 - 0
dataStorage_datang/myvenv/bin/pygmentize

@@ -0,0 +1,7 @@
+#!/data/source_code/data_analysis_wind_turbine/dataStorage_datang/myvenv/bin/python
+import sys
+from pygments.cmdline import main
+if __name__ == '__main__':
+    if sys.argv[0].endswith('.exe'):
+        sys.argv[0] = sys.argv[0][:-4]
+    sys.exit(main())

+ 1 - 0
dataStorage_datang/myvenv/bin/python

@@ -0,0 +1 @@
+/home/developer/miniconda3/bin/python

+ 1 - 0
dataStorage_datang/myvenv/bin/python3

@@ -0,0 +1 @@
+python

+ 1 - 0
dataStorage_datang/myvenv/bin/python3.12

@@ -0,0 +1 @@
+python

+ 7 - 0
dataStorage_datang/myvenv/bin/wheel

@@ -0,0 +1,7 @@
+#!/data/source_code/data_analysis_wind_turbine/dataStorage_datang/myvenv/bin/python
+import sys
+from wheel._commands import main
+if __name__ == '__main__':
+    if sys.argv[0].endswith('.exe'):
+        sys.argv[0] = sys.argv[0][:-4]
+    sys.exit(main())

+ 161 - 0
dataStorage_datang/myvenv/lib/python3.12/site-packages/IPython/__init__.py

@@ -0,0 +1,161 @@
+# PYTHON_ARGCOMPLETE_OK
+"""
+IPython: tools for interactive and parallel computing in Python.
+
+https://ipython.org
+"""
+#-----------------------------------------------------------------------------
+#  Copyright (c) 2008-2011, IPython Development Team.
+#  Copyright (c) 2001-2007, Fernando Perez <fernando.perez@colorado.edu>
+#  Copyright (c) 2001, Janko Hauser <jhauser@zscout.de>
+#  Copyright (c) 2001, Nathaniel Gray <n8gray@caltech.edu>
+#
+#  Distributed under the terms of the Modified BSD License.
+#
+#  The full license is in the file COPYING.txt, distributed with this software.
+#-----------------------------------------------------------------------------
+
+#-----------------------------------------------------------------------------
+# Imports
+#-----------------------------------------------------------------------------
+
+import sys
+
+#-----------------------------------------------------------------------------
+# Setup everything
+#-----------------------------------------------------------------------------
+
+# Don't forget to also update setup.py when this changes!
+if sys.version_info < (3, 8):
+    raise ImportError(
+        """
+IPython 8+ supports Python 3.8 and above, following NEP 29.
+When using Python 2.7, please install IPython 5.x LTS Long Term Support version.
+Python 3.3 and 3.4 were supported up to IPython 6.x.
+Python 3.5 was supported with IPython 7.0 to 7.9.
+Python 3.6 was supported with IPython up to 7.16.
+Python 3.7 was still supported with the 7.x branch.
+
+See IPython `README.rst` file for more information:
+
+    https://github.com/ipython/ipython/blob/main/README.rst
+
+"""
+    )
+
+#-----------------------------------------------------------------------------
+# Setup the top level names
+#-----------------------------------------------------------------------------
+
+from .core.getipython import get_ipython
+from .core import release
+from .core.application import Application
+from .terminal.embed import embed
+
+from .core.interactiveshell import InteractiveShell
+from .utils.sysinfo import sys_info
+from .utils.frame import extract_module_locals
+
+__all__ = ["start_ipython", "embed", "start_kernel", "embed_kernel"]
+
+# Release data
+__author__ = '%s <%s>' % (release.author, release.author_email)
+__license__  = release.license
+__version__  = release.version
+version_info = release.version_info
+# list of CVEs that should have been patched in this release.
+# this is informational and should not be relied upon.
+__patched_cves__ = {"CVE-2022-21699", "CVE-2023-24816"}
+
+
+def embed_kernel(module=None, local_ns=None, **kwargs):
+    """Embed and start an IPython kernel in a given scope.
+
+    If you don't want the kernel to initialize the namespace
+    from the scope of the surrounding function,
+    and/or you want to load full IPython configuration,
+    you probably want `IPython.start_kernel()` instead.
+
+    Parameters
+    ----------
+    module : types.ModuleType, optional
+        The module to load into IPython globals (default: caller)
+    local_ns : dict, optional
+        The namespace to load into IPython user namespace (default: caller)
+    **kwargs : various, optional
+        Further keyword args are relayed to the IPKernelApp constructor,
+        such as `config`, a traitlets :class:`Config` object (see :ref:`configure_start_ipython`),
+        allowing configuration of the kernel (see :ref:`kernel_options`).  Will only have an effect
+        on the first embed_kernel call for a given process.
+    """
+    
+    (caller_module, caller_locals) = extract_module_locals(1)
+    if module is None:
+        module = caller_module
+    if local_ns is None:
+        local_ns = caller_locals
+    
+    # Only import .zmq when we really need it
+    from ipykernel.embed import embed_kernel as real_embed_kernel
+    real_embed_kernel(module=module, local_ns=local_ns, **kwargs)
+
+def start_ipython(argv=None, **kwargs):
+    """Launch a normal IPython instance (as opposed to embedded)
+
+    `IPython.embed()` puts a shell in a particular calling scope,
+    such as a function or method for debugging purposes,
+    which is often not desirable.
+
+    `start_ipython()` does full, regular IPython initialization,
+    including loading startup files, configuration, etc.
+    much of which is skipped by `embed()`.
+
+    This is a public API method, and will survive implementation changes.
+
+    Parameters
+    ----------
+    argv : list or None, optional
+        If unspecified or None, IPython will parse command-line options from sys.argv.
+        To prevent any command-line parsing, pass an empty list: `argv=[]`.
+    user_ns : dict, optional
+        specify this dictionary to initialize the IPython user namespace with particular values.
+    **kwargs : various, optional
+        Any other kwargs will be passed to the Application constructor,
+        such as `config`, a traitlets :class:`Config` object (see :ref:`configure_start_ipython`),
+        allowing configuration of the instance (see :ref:`terminal_options`).
+    """
+    from IPython.terminal.ipapp import launch_new_instance
+    return launch_new_instance(argv=argv, **kwargs)
+
+def start_kernel(argv=None, **kwargs):
+    """Launch a normal IPython kernel instance (as opposed to embedded)
+
+    `IPython.embed_kernel()` puts a shell in a particular calling scope,
+    such as a function or method for debugging purposes,
+    which is often not desirable.
+
+    `start_kernel()` does full, regular IPython initialization,
+    including loading startup files, configuration, etc.
+    much of which is skipped by `embed_kernel()`.
+
+    Parameters
+    ----------
+    argv : list or None, optional
+        If unspecified or None, IPython will parse command-line options from sys.argv.
+        To prevent any command-line parsing, pass an empty list: `argv=[]`.
+    user_ns : dict, optional
+        specify this dictionary to initialize the IPython user namespace with particular values.
+    **kwargs : various, optional
+        Any other kwargs will be passed to the Application constructor,
+        such as `config`, a traitlets :class:`Config` object (see :ref:`configure_start_ipython`),
+        allowing configuration of the kernel (see :ref:`kernel_options`).
+    """
+    import warnings
+
+    warnings.warn(
+        "start_kernel is deprecated since IPython 8.0, use from `ipykernel.kernelapp.launch_new_instance`",
+        DeprecationWarning,
+        stacklevel=2,
+    )
+    from ipykernel.kernelapp import launch_new_instance
+    return launch_new_instance(argv=argv, **kwargs)

+ 15 - 0
dataStorage_datang/myvenv/lib/python3.12/site-packages/IPython/__main__.py

@@ -0,0 +1,15 @@
+# PYTHON_ARGCOMPLETE_OK
+# encoding: utf-8
+"""Terminal-based IPython entry point.
+"""
+#-----------------------------------------------------------------------------
+#  Copyright (c) 2012, IPython Development Team.
+#
+#  Distributed under the terms of the Modified BSD License.
+#
+#  The full license is in the file COPYING.txt, distributed with this software.
+#-----------------------------------------------------------------------------
+
+from IPython import start_ipython
+
+start_ipython()

+ 87 - 0
dataStorage_datang/myvenv/lib/python3.12/site-packages/IPython/conftest.py

@@ -0,0 +1,87 @@
+import builtins
+import inspect
+import os
+import pathlib
+import shutil
+import sys
+import types
+
+import pytest
+
+# Must register before it gets imported
+pytest.register_assert_rewrite("IPython.testing.tools")
+
+from .testing import tools
+
+
+def pytest_collection_modifyitems(items):
+    """This function is automatically run by pytest passing all collected test
+    functions.
+
+    We use it to add asyncio marker to all async tests and assert we don't use
+    test functions that are async generators which wouldn't make sense.
+    """
+    for item in items:
+        if inspect.iscoroutinefunction(item.obj):
+            item.add_marker("asyncio")
+        assert not inspect.isasyncgenfunction(item.obj)
+
+
+def get_ipython():
+    from .terminal.interactiveshell import TerminalInteractiveShell
+    if TerminalInteractiveShell._instance:
+        return TerminalInteractiveShell.instance()
+
+    config = tools.default_config()
+    config.TerminalInteractiveShell.simple_prompt = True
+
+    # Create and initialize our test-friendly IPython instance.
+    shell = TerminalInteractiveShell.instance(config=config)
+    return shell
+
+
+@pytest.fixture(scope='session', autouse=True)
+def work_path():
+    path = pathlib.Path("./tmp-ipython-pytest-profiledir")
+    os.environ["IPYTHONDIR"] = str(path.absolute())
+    if path.exists():
+        raise ValueError('IPython dir temporary path already exists ! Did previous test run exit successfully ?')
+    path.mkdir()
+    yield
+    shutil.rmtree(str(path.resolve()))
+
+
+def nopage(strng, start=0, screen_lines=0, pager_cmd=None):
+    if isinstance(strng, dict):
+        strng = strng.get("text/plain", "")
+    print(strng)
+
+
+def xsys(self, cmd):
+    """Replace the default system call with a capturing one for doctest.
+    """
+    # We use getoutput, but we need to strip it because pexpect captures
+    # the trailing newline differently from commands.getoutput
+    print(self.getoutput(cmd, split=False, depth=1).rstrip(), end="", file=sys.stdout)
+    sys.stdout.flush()
+
+
+# for things to work correctly we would need this as a session fixture;
+# unfortunately this will fail on some test that get executed as _collection_
+# time (before the fixture run), in particular parametrized test that contain
+# yields. so for now execute at import time.
+#@pytest.fixture(autouse=True, scope='session')
+def inject():
+
+    builtins.get_ipython = get_ipython
+    builtins._ip = get_ipython()
+    builtins.ip = get_ipython()
+    builtins.ip.system = types.MethodType(xsys, ip)
+    builtins.ip.builtin_trap.activate()
+    from .core import page
+
+    page.pager_page = nopage
+    # yield
+
+
+inject()

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.