     var versionString: String {
       var versionString = String(major)
       if let minor = minor {
-        versionString += ".\(minor)"
+        versionString += "\(PythonVersion.versionSeparator)\(minor)"
       }
       return versionString
     }

  
  static func loadPythonLibrary(
    at path: String, version: PythonVersion
  ) -> UnsafeMutableRawPointer? {
    let versionString = version.versionString
    
    if let requiredPythonVersion = Environment.version.value {

      }
    }
    
    let libraryVersionString = versionString
      .split(separator: PythonVersion.versionSeparator)
      .joined(separator: libraryVersionSeparator)
    let path = path.split(separator: libraryPathVersionCharacter)
      .joined(separator: libraryVersionString)
    return loadPythonLibrary(at: path)
  }
  
  static func loadPythonLibrary(at path: String) -> UnsafeMutableRawPointer? {
    log("Trying to load library at '\(path)'...")
    #if canImport(Darwin) || canImport(Glibc)
    // Must be RTLD_GLOBAL because subsequent .so files from the imported python
    // modules may depend on this .so file.
    let pythonLibraryHandle = dlopen(path, RTLD_LAZY | RTLD_GLOBAL)
    #elseif os(Windows)
    let pythonLibraryHandle = LoadLibraryA(path)
    #endif
    
    if pythonLibraryHandle != nil {
      log("Library at '\(path)' was sucessfully loaded.")
