PokemonGo-Bot: incompatible version of websocket websocket-client from fresh install

Expected Behavior

After a fresh install it starts when running ./run.sh

Actual Behavior

I get the following output

An incompatible websocket library is conflicting with the one we need.
You can remove the incompatible library and install the correct one
by running the following commands:

yes | pip uninstall websocket websocket-client
pip install -U websocket-client
Fri Dec 2 19:49:39 EST 2016 Pokebot  Stopped.
Press any button or wait 20 seconds to continue.

config.json

{
    "websocket_server": false,
    "heartbeat_threshold": 10,
    "enable_social": false,
    "check_niantic_api": true,
    "live_config_update": {
      "enabled": false,
      "tasks_only": false
    },
    "tasks": [
      {
        "type": "TelegramTask",
        "config": {
          "enabled": false,
          "master": null,
          "password": null,
          "// old syntax, still supported: alert_catch": ["all"],
          "// new syntax:": {},
          "alert_catch": {
            "all": {"operator": "and", "cp": 1300, "iv": 0.95},
            "Snorlax": {"operator": "or", "cp": 900, "iv": 0.9}
          }
        }
      },
      {
        "type": "DiscordTask",
        "config": {
          "enabled": false,
          "master": null,
          "// old syntax, still supported: alert_catch": ["all"],
          "// new syntax:": {},
          "alert_catch": {
            "all": {"operator": "and", "cp": 1300, "iv": 0.95},
            "Snorlax": {"operator": "or", "cp": 900, "iv": 0.9}
          }
        }
      },
      {
        "//NOTE: This task MUST be placed on the top of task list": {},
        "type": "RandomAlivePause",
        "config": {
          "enabled": false,
          "min_duration": "00:00:10",
          "max_duration": "00:10:00",
          "min_interval": "00:05:00",
          "max_interval": "01:30:00"
        }
      },
      {
        "type": "HandleSoftBan"
      },
      {
        "type": "RandomPause",
        "config": {
          "enabled": false,
          "min_duration": "00:00:10",
          "max_duration": "00:10:00",
          "min_interval": "00:10:00",
          "max_interval": "02:00:00"
        }
      },
      {
        "type": "CompleteTutorial",
        "config": {
          "enabled": false,
          "// set a name": "",
          "nickname": "",
          "// 0 = No Team, 1 = Blue, 2 = Red, 3 = Yellow": "",
          "team": 0
        }
      },
      {
        "type": "CollectLevelUpReward",
        "config": {
          "collect_reward": true,
          "level_limit": -1
        }
      },
      {
        "type": "BuddyPokemon",
        "config": {
          "enabled": true,
          "buddy_list": "dratini, magikarp",
          "best_in_family": true,
          "// candy_limit = 0 means no limit, so it will never change current buddy": {},
          "candy_limit": 0,
          "candy_limit_absolute":0,
          "// force_first_change = true will always change buddy at start removing current one": {},
          "force_first_change": false,
          "buddy_change_wait_min": 3,
          "buddy_change_wait_max": 5,
          "min_interval": 120
        }
      },
      {
        "type": "IncubateEggs",
        "config": {
          "enabled": true,
          "infinite_longer_eggs_first": false,
          "breakable_longer_eggs_first": true,
          "min_interval": 120,
         "infinite": [2,5,10],
         "breakable": [2,5,10]
        }
      },
      {
        "type": "UpdateLiveStats",
        "config": {
          "enabled": false,
          "min_interval": 10,
          "stats": ["username", "uptime", "stardust_earned", "xp_earned", "xp_per_hour", "stops_visited"],
          "terminal_log": true,
          "terminal_title": true
        }
      },
      {
        "type": "UpdateLiveInventory",
        "config": {
          "enabled": false,
          "min_interval": 120,
          "show_all_multiple_lines": false,
          "items": ["pokemon_bag", "space_info", "pokeballs", "greatballs", "ultraballs", "razzberries", "luckyegg"]
        }
      },
      {
        "type": "ShowBestPokemon",
        "config": {
          "enabled": true,
          "min_interval": 60,
          "amount": 5,
          "order_by": "cp",
          "info_to_show": ["cp", "ivcp", "dps", "hp"]
        }
      },
      {
        "type": "TransferPokemon",
        "config": {
          "enabled": true,
          "min_free_slot": 5,
          "transfer_wait_min": 3,
          "transfer_wait_max": 5
        }
      },
      {
        "type": "NicknamePokemon",
        "config": {
          "enabled": false,
          "nickname_above_iv": 0.9,
          "nickname_template": "{iv_pct}-{iv_ads}",
          "nickname_wait_min": 3,
          "nickname_wait_max": 5
        }
      },
      {
        "type": "EvolvePokemon",
        "config": {
          "enabled": false,
          "log_interval": 120,

            "// evolve only pidgey and drowzee": "",
            "// evolve_list": "pidgey, drowzee",
            "// donot_evolve_list": "none",

            "// evolve all but pidgey and drowzee": "",
            "// evolve_list": "all",
            "// donot_evolve_list": "pidgey, drowzee",

            "evolve_list": "all",
            "donot_evolve_list": "none",

          "first_evolve_by": "cp",
          "evolve_above_cp": 500,
          "evolve_above_iv": 0.8,
          "logic": "or",
          "min_evolve_speed": 25,
          "max_evolve_speed": 30,
          "min_pokemon_to_be_evolved": 1,
          "use_lucky_egg": false
        }
      },
      {
        "type": "UseIncense",
        "config": {
          "use_incense": false,
          "use_order": [
            "ordinary",
            "spicy",
            "cool",
            "floral"
          ]
        }
      },
      {
        "type": "RecycleItems",
        "config": {
          "enabled": true,
          "min_empty_space": 15,
          "max_balls_keep": 150,
          "max_potions_keep": 50,
          "max_berries_keep": 70,
          "max_revives_keep": 70,
          "item_filter": {
            "Pokeball":       { "keep" : 100 },
            "Potion":         { "keep" : 10 },
            "Super Potion":   { "keep" : 20 },
            "Hyper Potion":   { "keep" : 30 },
            "Revive":         { "keep" : 30 },
            "Razz Berry":     { "keep" : 100 }
          },
          "recycle_wait_min": 3,
          "recycle_wait_max": 5,
          "recycle_force": true,
          "recycle_force_min": "00:01:00",
          "recycle_force_max": "00:05:00"
        }
      },
      {
        "type": "CatchLimiter",
        "config": {
          "enabled": false,
          "min_balls": 20,
          "duration": 15
        }
      },
      {
		"type": "Sniper",
		"config": {
			"enabled": false,
			"mode": "social",
			"bullets": 1,
			"homing_shots": true,
			"special_iv": 100,
			"order": ["missing", "vip", "priority"],
			"sources": [
				{
				    "enabled": false,
					"url": "http://localhost:5000/raw_data",
					"timeout": 3,
					"key": "pokemons",
					"mappings": {
						"id": { "param": "pokemon_id" },
						"name": { "param": "pokemon_name" },
						"latitude": { "param": "latitude" },
						"longitude": { "param": "longitude" },
						"expiration": { "param": "disappear_time", "format": "milliseconds" }
					}
				},
				{
				    "enabled": false,
					"url": "https://pokewatchers.com/grab/",
					"timeout": 10,
					"mappings": {
						"iv": { "param": "iv" },
						"id": { "param": "pid" },
						"name": { "param": "pokemon" },
						"latitude": { "param": "cords" },
						"longitude": { "param": "cords" },
						"expiration": { "param": "timeend", "format": "seconds" }
					}
				},
				{
				    "enabled": false,
					"url": "http://pokesnipers.com/api/v1/pokemon.json",
					"timeout": 10,
					"key": "results",
					"mappings": {
						"iv": { "param": "iv" },
						"name": { "param": "name" },
						"latitude": { "param": "coords" },
						"longitude": { "param": "coords" },
						"expiration": { "param": "until", "format": "utc" }
					}
				}
			],
			"catch": {
				"Snorlax": 1000,
				"Dragonite": 1000,
				"Growlithe": 600,
				"Clefairy": 500,
				"Kabuto": 500,
				"Dratini": 500,
				"Dragonair": 500,
				"Mr. Mime": 500,
				"Magmar": 500,
				"Electabuzz": 500,
				"Tangela": 500,
				"Tauros": 500,
				"Primeape": 500,
				"Chansey": 500,
				"Pidgey": 100,
				"Caterpie": 100,
				"Weedle": 100
			}
		}
      },
      {
        "type": "CatchPokemon",
        "config": {
          "enabled": true,
          "catch_visible_pokemon": true,
          "catch_lured_pokemon": true,
          "catch_incensed_pokemon": true,
          "min_ultraball_to_keep": 5,
          "berry_threshold": 0.35,
          "vip_berry_threshold": 0.9,
          "treat_unseen_as_vip": true,
          "daily_catch_limit": 800,
          "vanish_settings": {
            "consecutive_vanish_limit": 10,
            "rest_duration_min": "02:00:00",
            "rest_duration_max": "04:00:00"
          },
          "catch_throw_parameters": {
            "excellent_rate": 0.1,
            "great_rate": 0.5,
            "nice_rate": 0.3,
            "normal_rate": 0.1,
            "spin_success_rate" : 0.6,
            "hit_rate": 0.75
          },
          "catch_simulation": {
            "flee_count": 3,
            "flee_duration": 2,
            "catch_wait_min": 3,
            "catch_wait_max": 6,
            "berry_wait_min": 3,
            "berry_wait_max": 5,
            "changeball_wait_min": 3,
            "changeball_wait_max": 5,
            "newtodex_wait_min": 20,
            "newtodex_wait_max": 30
          }
        }
      },
      {
        "type": "SpinFort",
        "config": {
          "enabled": true,
          "spin_wait_min": 3,
          "spin_wait_max": 5,
          "daily_spin_limit": 1900
        }
      },
      { "type": "UpdateWebInventory",
        "config": {
          "enabled": true
        }
      },
      {
        "type": "MoveToFort",
        "config": {
          "enabled": true,
          "lure_attraction": true,
          "lure_max_distance": 2000,
          "walker": "StepWalker",
          "log_interval": 5
        }
      },
      {
        "type": "FollowSpiral",
        "config": {
          "enabled": true,
          "diameter": 4,
          "step_size": 70
        }
      }
    ],
    "map_object_cache_time": 5,
    "forts": {
      "avoid_circles": true,
      "max_circle_size": 50,
      "cache_recent_forts": true
    },
    "pokemon_bag": {
      "// if 'show_at_start' is true, it will log all the pokemons in the bag (not eggs) at bot start": {},
      "show_at_start": true,
      "// if 'show_count' is true, it will show the amount of each pokemon (minimum 1)": {},
      "show_count": false,
      "// if 'show_candies' is true, it will show the amount of candies for each pokemon": {},
      "show_candies": false,
      "// 'pokemon_info' parameter define which info to show for each pokemon": {},
      "// the available options are": {},
      "// ['cp', 'iv_ads', 'iv_pct', 'ivcp', 'ncp', 'level', 'hp', 'moveset', 'dps']": {},
      "pokemon_info": ["cp", "iv_pct"]
    },
    "walk_max": 4.16,
    "walk_min": 2.16,
    "alt_min": 500,
    "alt_max": 1000,

    "sleep_schedule": {
      "enabled": true,
      "enable_reminder": false,
      "reminder_interval": 600,
      "entries": [
        {
          "enabled": true,
          "time": "12:00",
          "duration": "5:30",
          "time_random_offset": "00:30",
          "duration_random_offset": "00:30",
          "wake_up_at_location": ""
        },
        {
          "enabled": true,
          "time": "17:45",
          "duration": "3:00",
          "time_random_offset": "01:00",
          "duration_random_offset": "00:30",
          "wake_up_at_location": ""
        }
      ]
    },

    "gps_default_altitude": 8.0,
    "replicate_gps_xy_noise": false,
    "replicate_gps_z_noise": false,
    "gps_xy_noise_range": 0.000125,
    "gps_z_noise_range": 12.5,
    "debug": false,
    "test": false,
    "walker_limit_output": false,
    "health_record": true,
    "location_cache": true,
    "distance_unit": "km",
    "reconnecting_timeout": 15,
    "logging": {
      "color": true,
      "show_datetime": true,
      "show_process_name": true,
      "show_log_level": true,
      "show_thread_name": false
    },
    "catch": {
      "any": {"candy_threshold" : 400 ,"catch_above_cp": 0, "catch_above_iv": 0, "logic": "or"},
      "// Example of always catching Rattata:": {},
      "// Rattata": { "always_catch" : true },
      "// Example of catching only Diglett and Horsea needed for Bubblestrat; you might want to also configure sniping (MoveToMap - helps you get hold of neede pokemons faster) and disable SpinFort (or you will advance past level 2 which will make it impossible to catch level-1 pokemons)": {},
      "Diglett": { "candy_threshold": 1, "catch_below_cp": 11, "catch_above_iv": 0, "logic": "and", "fast_attack": ["Scratch", "Mud Slap"] },
      "Horsea": { "candy_threshold": 1, "catch_below_cp": 11, "catch_above_iv": 0, "logic": "and", "fast_attack": ["Bubble"] },
      "// Example of catching Vaporeon only with Water Gun and Hydro Pump": {},
      "Vaporeon": { "catch_above_iv": 0.99, "charged_attack": ["Hydro Pump"], "fast_attack": ["Water Gun"]}
    },
    "release": {
      "any": {"release_below_cp": 0, "release_below_iv": 0, "release_below_ivcp": 0, "logic": "or"},
      "// Example of always releasing Rattata:": {},
      "// Rattata": {"always_release": true},
      "// Example of keeping 3 stronger (based on CP) Pidgey:": {},
      "// Pidgey": {"keep_best_cp": 3},
      "// Example of keeping 2 best (based on IV) Zubat:": {},
      "// Zubat": {"keep_best_iv": 2},
      "// Keep no more than 3 best IV pokemon for every pokemon type": {},
      "// any": {"keep_best_iv": 3},
      "// Keep no more than 3 best IVCP pokemon for every pokemon type": {},
      "// any": {"keep_best_ivcp": 3},
      "// Discard all pokemon in bag except 100 pokemon with best CP": {},
      "// all": {"keep_best_cp": 100},
      "// Example of keeping the 2 strongest (based on CP) and 3 best (based on IV) Zubat:": {},
      "// Zubat": {"keep_best_cp": 2, "keep_best_iv": 3},
      "// Example of custom order of static criterion": {},
      "// Zubat": {"keep_best_custom": "iv, cp, hp_max", "amount":2}
    },
    "vips" : {
        "Any pokemon put here directly force to use Berry & Best Ball to capture, to secure the capture rate": {},
        "any": {"catch_above_cp": 1200, "catch_above_iv": 0.9, "logic": "or" },
        "Lapras": {},
        "Moltres": {},
        "Zapdos": {},
        "Articuno": {},

        "// S-Tier pokemons (if pokemon can be evolved into tier, list the representative)": {},
        "Mewtwo": {},
        "Dragonite": {},
        "Snorlax": {},
        "// Mew evolves to Mewtwo": {},
        "Mew": {},
        "Arcanine": {},
        "Vaporeon": {},
        "Gyarados": {},
        "Exeggutor": {},
        "Muk": {},
        "Weezing": {},
        "Flareon": {}
    },
	"websocket": {
		"start_embedded_server": true,
		"server_url": "127.0.0.1:4000"
	}
}

Output when issue occurred

[jscancella@johns-air python-bot (master)]$ ./run.sh
An incompatible websocket library is conflicting with the one we need.
You can remove the incompatible library and install the correct one
by running the following commands:

yes | pip uninstall websocket websocket-client
pip install -U websocket-client
Fri Dec 2 19:49:39 EST 2016 Pokebot  Stopped.
Press any button or wait 20 seconds to continue.

Steps to Reproduce

run the ./setup.sh script then run ./run.sh

Other Information

OS: Mac Branch: master Git Commit: 6416d10b3c38122f4d00aed2958efcdf9f6c340f Python Version: python2.7

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Reactions: 2
  • Comments: 25 (6 by maintainers)

Most upvoted comments

@camnomis: add websocket-client==0.37.0 into your requirements.txt file above python-socketio and the setup script will handle it. requirements.txt

it’s due to websocket-client has been updated. just run . bin/activate pip install websocket-client==0.37.0

Hi,Any updates on this issue? i keep getting the same output despite all your solutions.:

An incompatible websocket library is conflicting with the one we need. You can remove the incompatible library and install the correct one by running the following commands:

yes | pip uninstall websocket websocket-client pip install -U websocket-client Wed Dec 7 10:13:35 PST 2016 Pokebot Stopped. Press any button or wait 20 seconds to continue.

i tried “yes | pip uninstall websocket websocket-client”,but came out this output:

Cannot uninstall requirement websocket, not installed

pip install -U websocket-client

replaces websocket-client==0.37.0 with websocket-client==0.39.0.

still doesn’t works

same output as before.

@yuvarajpuru is you change the line in config.json

"check_niantic_api": true,

to

"check_niantic_api": false,

The app will run without checking the API version, you will need to be very careful to keep logged into a device to do the capture but the bot will work, for how long I don’t know but I do an hour a day max and I haven’t been banned, DO THIS AT YOUR OWN RISK!

As for the original issue, I have tried with websocket-client==0.37.0 and websocket-client==0.39.0 neither work, any suggestions?